¡¾Â©¶´Í¨¸æ¡¿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 ½øÐÐÊý¾Ý´¦ÖÃʱ²Å»áÊܵ½Ó°Ï죬Ӧȷ±£Ó¦Ó÷¨Ê½£º
? Éý¼¶µ½ÐÞ¸´°æ±¾¡£
? ÅäÖò¢ÏÞÖÆ¿ÉÒÔͨ¹ý·´ÐòÁл¯´¦ÖõÄÀà¡£
? Èç¹û²»ÐèÒª 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¶à¸ö©¶´Í¨¸æºÍ·çÏÕÔ¤¾¯£¬ÎÒÃǽ«Á¬Ðø¸ú×ÙÈ«Çò×îеÄÍøÂçÄþ¾²Ê¼þºÍ©¶´£¬ÎªÆóÒµµÄÐÅÏ¢Äþ¾²±£¼Ý»¤º½¡£
¹Ø×¢ÎÒÃÇ£º