Jackson-databindºÍfastjsonÔ¶³Ì´úÂëÖ´ÐÐÎó²îΣº¦Í¨¸æ
Ðû²¼Ê±¼ä 2020-02-21Îó²î±àºÅºÍ¼¶±ð
CVE±àºÅ£ºCVE-2020-8840£¬£¬£¬£¬£¬£¬£¬Î£ÏÕ¼¶±ð£ºÑÏÖØ£¬£¬£¬£¬£¬£¬£¬CVSS·ÖÖµ£º9.8
Ó°Ïì°æ±¾
1. FasterXML jackson-databind
ÊÜÓ°Ïì°æ±¾
2.0.0 <= FasterXML jackson-databind <= 2.9.10.2
²»ÊÜÓ°Ïì°æ±¾
FasterXML jackson-databind = 2.8.11.5
FasterXML jackson-databind = 2.9.10.3£¨ÔÝδÐû²¼£©
2. fastjson
ÊÜÓ°Ïì°æ±¾
fastjson <= 1.2.62
Îó²î¸ÅÊö
2ÔÂ19ÈÕ£¬£¬£¬£¬£¬£¬£¬NVDÐû²¼Ç徲ͨ¸æÅû¶ÁËjackson-databindÓÉJNDI×¢Èëµ¼ÖµÄÔ¶³Ì´úÂëÖ´ÐÐÎó²î¡£¡£¡£¡£¡£ÊÜÓ°Ïì°æ±¾µÄjackson-databindÖÐÓÉÓÚȱÉÙijЩxbean-reflect/JNDIºÚÃûµ¥À࣬£¬£¬£¬£¬£¬£¬Èçorg.apache.xbean.propertyeditor.JndiConverter£¬£¬£¬£¬£¬£¬£¬¿Éµ¼Ö¹¥»÷ÕßʹÓÃJNDI×¢ÈëµÄ·½·¨ÊµÏÖÔ¶³Ì´úÂëÖ´ÐС£¡£¡£¡£¡£
ÔÚjackson-databindÖеķ´ÐòÁл¯gadgetҲͬÑùÓ°ÏìÁËfastjson£¬£¬£¬£¬£¬£¬£¬ÔÚ¿ªÆôÁËautoType¹¦Ð§µÄÇéÐÎÏ£¨autoType¹¦Ð§Ä¬ÈϹرգ©£¬£¬£¬£¬£¬£¬£¬¹¥»÷ÕßʹÓøÃÎó²î¿ÉʵÏÖÔÚÄ¿µÄ»úеÉϵÄÔ¶³Ì´úÂëÖ´ÐС£¡£¡£¡£¡£
Îó²îÑéÖ¤
ÔÝÎÞPoC/EXP¡£¡£¡£¡£¡£
ÐÞ¸´½¨Òé
1. FasterXML jackson-databind
ÏÖÔÚ¹Ù·½ÒÑÔÚ×îа汾ÖÐÐÞ¸´Á˸ÃÎó²î£¬£¬£¬£¬£¬£¬£¬ÇëÊÜÓ°ÏìµÄÓû§¾¡¿ìÉý¼¶°æ±¾¾ÙÐзÀ»¤£¬£¬£¬£¬£¬£¬£¬ÔÝδÐû²¼Ð°汾µÄÇëÒ»Á¬¹Ø×¢¹Ù·½ÐÅÏ¢£¬£¬£¬£¬£¬£¬£¬ÏÂÔØÁ´½Ó£ºhttps://github.com/FasterXML/jackson-databind/releases¡£¡£¡£¡£¡£
2. fastjson
¹Ù·½ÔÝδÐû²¼Õë¶Ô´ËÎó²îµÄÐÞ¸´°æ±¾£¬£¬£¬£¬£¬£¬£¬¿ªÆôÁËautoType¹¦Ð§µÄÊÜÓ°ÏìÓû§¿Éͨ¹ý¹Ø±ÕautoTypeÀ´¹æ±ÜΣº¦£¨autoType¹¦Ð§Ä¬ÈϹرգ©£¬£¬£¬£¬£¬£¬£¬Áí½¨Ò齫JDKÉý¼¶µ½×îа汾¡£¡£¡£¡£¡£
autoType¹Ø±ÕÒªÁìÈçÏ£º
ÒªÁìÒ»£º
ÔÚÏîĿԴÂëÖÐÈ«ÎÄËÑË÷ÈçÏ´úÂ룬£¬£¬£¬£¬£¬£¬ÕÒµ½²¢½«´ËÐдúÂëɾ³ý£º
ParserConfig.getGlobalInstance().setAutoTypeSupport(true);
ÒªÁì¶þ£º
ÔÚJVMÖÐÆô¶¯ÏîĿʱ£¬£¬£¬£¬£¬£¬£¬ÇÐÎðÌí¼ÓÒÔϲÎÊý£º
-Dfastjson.parser.autoTypeSupport=true
²Î¿¼Á´½Ó
https://nvd.nist.gov/vuln/detail/CVE-2020-8840