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