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