¡¾Îó²îͨ¸æ¡¿Apache MINA·´ÐòÁл¯Ô¶³Ì´úÂëÖ´ÐÐÎó²î£¨CVE-2024-52046£©
Ðû²¼Ê±¼ä 2024-12-25Ò»¡¢Îó²î¸ÅÊö
Îó²îÃû³Æ | Apache MINA·´ÐòÁл¯Ô¶³Ì´úÂëÖ´ÐÐÎó²î | ||
CVE ID | CVE-2024-52046 | ||
Îó²îÀàÐÍ | ·´ÐòÁл¯ | ·¢Ã÷ʱ¼ä | 2024-12-25 |
Îó²îÆÀ·Ö | ÔÝÎÞ | Îó²îÆ·¼¶ | ¸ßΣ |
¹¥»÷ÏòÁ¿ | ÍøÂç | ËùÐèȨÏÞ | ÎÞ |
ʹÓÃÄÑ¶È | µÍ | Óû§½»»¥ | ÎÞ |
PoC/EXP | δ¹ûÕæ | ÔÚҰʹÓà | δ·¢Ã÷ |
Apache MINA£¨Multipurpose Infrastructure for Network Applications£©ÊÇÒ»¸ö¸ßÐÔÄܵÄÍøÂçͨѶ¿ò¼Ü£¬Ö¼ÔÚ×ÊÖú¿ª·¢Ö°Ô±¿ìËÙ¹¹½¨ºÍÖÎÀíÍøÂçÓ¦ÓóÌÐò¡£
2024Äê12ÔÂ25ÈÕ£¬ÓÅ·¢¹ú¼ÊÍøÕ¾¹ÙÍø¼¯ÍÅVSRC¼à²âµ½Apache MINAÖб£´æÒ»¸ö·´ÐòÁл¯Ô¶³Ì´úÂëÖ´ÐÐÎó²î£¨CVE-2024-52046£©¡£
Apache MINA¶à¸öÊÜÓ°Ïì°æ±¾Öб£´æ·´ÐòÁл¯Ô¶³Ì´úÂëÖ´ÐÐÎó²î£¬ÓÉÓÚApache MINA µÄ ObjectSerializationDecoder ×é¼þʹÓÃÁË Java ÔÉú·´ÐòÁл¯ÐÒéÀ´´¦Öóͷ£´«ÈëµÄÐòÁл¯Êý¾Ý£¬µ«È±·¦ÐëÒªµÄÇå¾²¼ì²éºÍ·ÀÓù»úÖÆ£¬¹¥»÷Õß¿Éͨ¹ýÏòÊÜÓ°ÏìµÄÓ¦ÓóÌÐò·¢ËÍÌØÖƵĶñÒâÐòÁл¯Êý¾Ý£¬Ê¹Óò»Çå¾²µÄ·´ÐòÁл¯Àú³Ì´¥·¢¸ÃÎó²î£¬´Ó¶ø¿ÉÄܵ¼ÖÂÔ¶³Ì´úÂëÖ´ÐС£
¶þ¡¢Ó°Ïì¹æÄ£
Apache MINA 2.0.X < 2.0.27
Apache MINA 2.1.X < 2.1.10
Apache MINA 2.2.X < 2.2.4
Èý¡¢Çå¾²²½·¥
3.1 Éý¼¶°æ±¾
1.ÏÖÔÚ¸ÃÎó²îÒѾÐÞ¸´£¬ÊÜÓ°ÏìÓû§¿ÉÉý¼¶µ½ÒÔÏ°汾£º
Apache MINA 2.0.X >= 2.0.27
Apache MINA 2.1.X >= 2.1.10
Apache MINA 2.2.X >= 2.2.4
ÏÂÔØÁ´½Ó£º
https://mina.apache.org/downloads-mina_2_0.html
2.ÉèÖÃObjectSerializationDecoder¡£
ÔÚÉý¼¶ºó£¬»¹ÐèÒªÉèÖÃObjectSerializationDecoderʵÀý£¬ÒÔÏÞÖÆÄÄЩÀà¿ÉÒÔ±»·´ÐòÁл¯¡£Ä¬ÈÏÇéÐÎÏ£¬ObjectSerializationDecoder »á¾Ü¾øËùÓд«ÈëµÄÀ࣬ÐèҪʹÓÃÒÔÏÂÒªÁìÖ®Ò»À´Ã÷È·ÔÊÐíÌض¨µÄÀࣺ
accept(ClassNameMatcher classNameMatcher)£ºÊ¹ÓÃÌṩµÄClassNameMatcherÀ´Æ¥ÅäÔÊÐí·´ÐòÁл¯µÄÀàÃû¡£
accept(Pattern pattern)£ºÊ¹Óñê×¼JavaÕýÔò±í´ïʽÀ´Æ¥ÅäÔÊÐí·´ÐòÁл¯µÄÀàÃû¡£
accept(String... patterns)£ºÊ¹ÓÃApache Commons IO¿âÖеÄͨÅä·ûģʽÀ´Æ¥ÅäÔÊÐí·´ÐòÁл¯µÄÀàÃû¡£
3. ¼ì²éʹÓà IoBuffer#getObject() µÄµØ·½¡£
¸ÃÎó²î½öÔÚÓ¦ÓóÌÐòʹÓà IoBuffer#getObject() ÒªÁ죬²¢Í¨¹ý ProtocolCodecFilter ºÍ ObjectSerializationCodecFactory ¾ÙÐÐÊý¾Ý´¦Öóͷ£Ê±²Å»áÊܵ½Ó°Ï죬Ӧȷ±£Ó¦ÓóÌÐò£º
? Éý¼¶µ½ÐÞ¸´°æ±¾¡£
? ÉèÖò¢ÏÞÖÆ¿ÉÒÔͨ¹ý·´ÐòÁл¯´¦Öóͷ£µÄÀà¡£
? ÈôÊDz»ÐèÒª getObject() ÒªÁ죬×èֹʹÓÃËü£¬ÒÔïÔÌÇ徲Σº¦¡£
4.²âÊÔºÍÑéÖ¤¡£
ÐÞ¸´ºó£¬²âÊÔÓ¦ÓóÌÐòÒÔÈ·±£Ëü°´Ô¤ÆÚÊÂÇé²¢ÇÒûÓÐÒýÈëеÄÎÊÌ⣬ÓÈÆäÊÇÔÚÐòÁл¯ºÍ·´ÐòÁл¯´¦Öóͷ£·½Ã棬²¢ÑéÖ¤ObjectSerializationDecoderµÄÉèÖÃÊÇ·ñ׼ȷ£¬È·±£Ö»ÓÐÔ¤ÆÚµÄÀà±»ÔÊÐí·´ÐòÁл¯¡£
3.2 ÔÝʱ²½·¥
ÔÝÎÞ¡£
3.3 ͨÓý¨Òé
? °´ÆÚ¸üÐÂϵͳ²¹¶¡£¬ïÔÌϵͳÎó²î£¬ÌáÉý·þÎñÆ÷µÄÇå¾²ÐÔ¡£
? ÔöǿϵͳºÍÍøÂçµÄ»á¼û¿ØÖÆ£¬Ð޸ķÀ»ðǽսÂÔ£¬¹Ø±Õ·ÇÐëÒªµÄÓ¦Óö˿ڻò·þÎñ£¬ïÔ̽«Î£ÏÕ·þÎñ£¨ÈçSSH¡¢RDPµÈ£©Ì»Â¶µ½¹«Íø£¬ïÔ̹¥»÷Ãæ¡£
? ʹÓÃÆóÒµ¼¶Çå¾²²úÆ·£¬ÌáÉýÆóÒµµÄÍøÂçÇå¾²ÐÔÄÜ¡£
? ÔöǿϵͳÓû§ºÍȨÏÞÖÎÀí£¬ÆôÓöàÒòËØÈÏÖ¤»úÖƺÍ×îСȨÏÞÔÔò£¬Óû§ºÍÈí¼þȨÏÞÓ¦¼á³ÖÔÚ×îµÍÏ޶ȡ£
? ÆôÓÃÇ¿ÃÜÂëÕ½ÂÔ²¢ÉèÖÃΪ°´ÆÚÐ޸ġ£
3.4 ²Î¿¼Á´½Ó
https://nvd.nist.gov/vuln/detail/CVE-2024-52046
https://seclists.org/oss-sec/2024/q4/177
ËÄ¡¢°æ±¾ÐÅÏ¢
°æ±¾ | ÈÕÆÚ | ±¸×¢ |
V1.0 | 2024-12-25 | Ê×´ÎÐû²¼ |
Îå¡¢¸½Â¼
5.1 ÓÅ·¢¹ú¼ÊÍøÕ¾¹ÙÍø¼ò½é
ÓÅ·¢¹ú¼ÊÍøÕ¾¹ÙÍø½¨ÉèÓÚ1996Ä꣬ÊÇÓÉÁôÃÀ²©Ê¿ÑÏÍû¼ÑŮʿ½¨ÉèµÄ¡¢ÓµÓÐÍêÈ«×ÔÖ÷֪ʶ²úȨµÄÐÅÏ¢Çå¾²¸ß¿Æ¼¼ÆóÒµ¡£ÊǺ£ÄÚ×î¾ßʵÁ¦µÄÐÅÏ¢Çå¾²²úÆ·¡¢Çå¾²·þÎñ½â¾ö¼Æ»®µÄÁ캽ÆóÒµÖ®Ò»¡£
¹«Ë¾×ܲ¿Î»ÓÚ±±¾©ÊÐÖйشåÈí¼þÔ°ÓÅ·¢¹ú¼ÊÍøÕ¾¹ÙÍø´óÏ㬹«Ë¾Ô±¹¤6000ÓàÈË£¬Ñз¢ÍŶÓ1200ÓàÈË, ÊÖÒÕ·þÎñÍŶÓ1300ÓàÈË¡£ÔÚÌìϸ÷Ê¡¡¢ÊС¢×ÔÖÎÇøÉèÁ¢·ÖÖ§»ú¹¹ÁùÊ®¶à¸ö£¬ÓµÓÐÁýÕÖÌìϵÄÏúÊÛϵͳ¡¢ÇþµÀϵͳºÍÊÖÒÕÖ§³Öϵͳ¡£¹«Ë¾ÓÚ2010Äê6ÔÂ23ÈÕÔÚÉîÛÚÖÐС°å¹ÒÅÆÉÏÊС££¨¹ÉƱ´úÂ룺002439£©
¶àÄêÀ´£¬ÓÅ·¢¹ú¼ÊÍøÕ¾¹ÙÍøÖÂÁ¦ÓÚÌṩ¾ßÓйú¼Ê¾ºÕùÁ¦µÄ×ÔÖ÷Á¢ÒìµÄÇå¾²²úÆ·ºÍ×î¼Ñʵ¼ù·þÎñ£¬×ÊÖú¿Í»§ÖÜÈ«ÌáÉýÆäIT»ù´¡ÉèÊ©µÄÇå¾²ÐÔºÍÉú²úЧÄÜ£¬Îª´òÔìºÍÌáÉý¹ú¼Ê»¯µÄÃñ×åÐÅÏ¢Çå¾²¹¤ÒµÁì¾üÆ·Åƶø²»Ð¸Æ𾢡£
5.2 ¹ØÓÚÓÅ·¢¹ú¼ÊÍøÕ¾¹ÙÍø
ÓÅ·¢¹ú¼ÊÍøÕ¾¹ÙÍøÇå¾²Ó¦¼±ÏìÓ¦ÖÐÐÄÒÑÐû²¼1000¶à¸öÎó²îͨ¸æºÍΣº¦Ô¤¾¯£¬ÎÒÃǽ«Ò»Á¬¸ú×ÙÈ«Çò×îеÄÍøÂçÇå¾²ÊÂÎñºÍÎó²î£¬ÎªÆóÒµµÄÐÅÏ¢Çå¾²±£¼Ý»¤º½¡£
¹Ø×¢ÎÒÃÇ£º