¡¾Îó²îͨ¸æ¡¿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¶à¸öÎó²îͨ¸æºÍΣº¦Ô¤¾¯£¬£¬£¬£¬£¬ÎÒÃǽ«Ò»Á¬¸ú×ÙÈ«Çò×îеÄÍøÂçÇå¾²ÊÂÎñºÍÎó²î£¬£¬£¬£¬£¬ÎªÆóÒµµÄÐÅÏ¢Çå¾²±£¼Ý»¤º½¡£¡£¡£¡£¡£¡£


¹Ø×¢ÎÒÃÇ£º


Çå¾²¼òѶ.jpg