¡¾Îó²îͨ¸æ¡¿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ÈÕ£¬£¬£¬£¬£¬£¬ÈËÉú¾ÍÊDz©¼¯ÍÅ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 ÈËÉú¾ÍÊDz©¼ò½é


ÈËÉú¾ÍÊDz©½¨ÉèÓÚ1996Ä꣬£¬£¬£¬£¬£¬ÊÇÓÉÁôÃÀ²©Ê¿ÑÏÍû¼ÑŮʿ½¨ÉèµÄ¡¢ÓµÓÐÍêÈ«×ÔÖ÷֪ʶ²úȨµÄÐÅÏ¢Çå¾²¸ß¿Æ¼¼ÆóÒµ¡£¡£¡£¡£ ¡£ÊǺ£ÄÚ×î¾ßʵÁ¦µÄÐÅÏ¢Çå¾²²úÆ·¡¢Ç徲ЧÀͽâ¾ö¼Æ»®µÄÁ캽ÆóÒµÖ®Ò»¡£¡£¡£¡£ ¡£


¹«Ë¾×ܲ¿Î»ÓÚ±±¾©ÊÐÖйشåÈí¼þÔ°ÈËÉú¾ÍÊDz©´óÏ㬣¬£¬£¬£¬£¬¹«Ë¾Ô±¹¤6000ÓàÈË£¬£¬£¬£¬£¬£¬Ñз¢ÍŶÓ1200ÓàÈË, ÊÖÒÕЧÀÍÍŶÓ1300ÓàÈË¡£¡£¡£¡£ ¡£ÔÚÌìϸ÷Ê¡¡¢ÊС¢×ÔÖÎÇøÉèÁ¢·ÖÖ§»ú¹¹ÁùÊ®¶à¸ö£¬£¬£¬£¬£¬£¬ÓµÓÐÁýÕÖÌìϵÄÏúÊÛϵͳ¡¢ÇþµÀϵͳºÍÊÖÒÕÖ§³Öϵͳ¡£¡£¡£¡£ ¡£¹«Ë¾ÓÚ2010Äê6ÔÂ23ÈÕÔÚÉîÛÚÖÐС°å¹ÒÅÆÉÏÊС£¡£¡£¡£ ¡££¨¹ÉƱ´úÂ룺002439£©


¶àÄêÀ´£¬£¬£¬£¬£¬£¬ÈËÉú¾ÍÊDz©ÖÂÁ¦ÓÚÌṩ¾ßÓйú¼Ê¾ºÕùÁ¦µÄ×ÔÖ÷Á¢ÒìµÄÇå¾²²úÆ·ºÍ×î¼Ñʵ¼ùЧÀÍ£¬£¬£¬£¬£¬£¬×ÊÖú¿Í»§ÖÜÈ«ÌáÉýÆäIT»ù´¡ÉèÊ©µÄÇå¾²ÐÔºÍÉú²úЧÄÜ£¬£¬£¬£¬£¬£¬Îª´òÔìºÍÌáÉý¹ú¼Ê»¯µÄÃñ×åÐÅÏ¢Çå¾²¹¤ÒµÁì¾üÆ·ÅÆ¶ø²»Ð¸Æð¾¢¡£¡£¡£¡£ ¡£


5.2 ¹ØÓÚÈËÉú¾ÍÊDz©


ÈËÉú¾ÍÊDz©Çå¾²Ó¦¼±ÏìÓ¦ÖÐÐÄÒÑÐû²¼1000¶à¸öÎó²îͨ¸æºÍΣº¦Ô¤¾¯£¬£¬£¬£¬£¬£¬ÎÒÃǽ«Ò»Á¬¸ú×ÙÈ«Çò×îеÄÍøÂçÇå¾²ÊÂÎñºÍÎó²î£¬£¬£¬£¬£¬£¬ÎªÆóÒµµÄÐÅÏ¢Çå¾²±£¼Ý»¤º½¡£¡£¡£¡£ ¡£


¹Ø×¢ÎÒÃÇ£º


Çå¾²¼òѶ.jpg