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