¡¾·ì϶¹«¸æ¡¿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ÈÕ£¬GA»Æ½ð¼×¼¯ÍÅ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 GA»Æ½ð¼×¼ò½é


GA»Æ½ð¼×³ÉÁ¢ÓÚ1996Ä꣬ÊÇÓÉÁôÃÀ²©Ê¿ÑÏÍû¼ÑŮʿ´´½¨µÄ¡¢Õ¼ÓÐÆëÈ«×ÔÖ÷֪ʶ²úȨµÄÐÅÏ¢°²È«¸ß¿Æ¼¼ÆóÒµ¡£ÊǹúÄÚ×î¾ßʵÁ¦µÄÐÅÏ¢°²È«²úÆ·¡¢°²È«·þÎñ½â¾ö¹æ»®µÄÁ캽ÆóÒµÖ®Ò»¡£


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


¶àÄêÀ´£¬GA»Æ½ð¼×ÖÂÁ¦ÓÚÌṩӵÓйú¼Ê¾ºÕùÁ¦µÄ×ÔÖ÷´´Ðµİ²È«²úÆ·ºÍ×î¼Ñʵ¼Ê·þÎñ£¬Ô®ÊÖ¿Í»§È«ÃæÌáÉýÆäIT»ù´¡ÉèÊ©µÄ°²È«ÐԺͳö²úЧÁ¦£¬Îª´òÔìºÍÌáÉý¹ú¼Ê»¯µÄÃñ×åÐÅÏ¢°²È«²úÒµÁì¾üÆ·ÅÆ¶ø²»Ð¸ÖÂÁ¦¡£


5.2 ¹ØÓÚGA»Æ½ð¼×


GA»Æ½ð¼×°²È«Ó¦¼±ÏìÓ¦ÖÐÐÄÒѰ䲼1000¶à¸ö·ì϶¹«¸æÎ¢·çÏÕÔ¤¾¯£¬ÎÒÃǽ«³ÖÐø¸ú×ÙÈ«Çò×îеÄÍøÂ簲ȫÊÂÎñºÍ·ì϶£¬ÎªÆóÒµµÄÐÅÏ¢°²È«±£¼Ý»¤º½¡£


¹Ø×¢ÎÒÃÇ£º


°²È«¼òѶ.jpg