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