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