Oracle Coherence&WebLogic·´ÐòÁл¯Ô¶³Ì´úÂëÖ´Ðзì϶·çÏÕ¹«¸æ
°ä²¼¹¦·ò 2020-03-06·ì϶±àºÅºÍ¼¶±ð
CVE±àºÅ£ºCVE-2020-2555£¬£¬£¬Î£ÏÕ¼¶±ð£ºÑÏÖØ£¬£¬£¬CVSS·ÖÖµ£º9.8
Ó°Ïì°æ±¾
Oracle Coherence 3.7.1.17
Oracle Coherence 12.1.3.0.0
Oracle Coherence 12.2.1.3.0
Oracle Coherence 12.2.1.4.0
·ì϶¸ÅÊö
½üÈÕ£¬£¬£¬Ô̺¬ÔÚ1Ô·ÝOracle¹Ø¼ü²¹¶¡·¨Ê½¸üÐÂCPU£¨Critical Patch Update£©µÄ·ì϶£¬£¬£¬Oracle Coherence·´ÐòÁл¯Ô¶³Ì´úÂëÖ´Ðзì϶£¨CVE-2020-2555£©µÄϸ½ÚÒѱ»¹«¿ª¡£
Oracle CoherenceΪOracleÈÚºÏÖÐÑë¼þÖеIJúÆ·£¬£¬£¬ÊÇÒµ½çµ±ÏȵÄÄÚ´æÊý¾ÝÍø¸ñ½â¾ö¹æ»®£¬£¬£¬ËüÄÜΪ¹«Ë¾ºÍ×éÖ¯Ìṩ¶Ô³£ÓÃÊý¾ÝµÄ¼±¾ç½Ó¼û¡£ÔÚWebLogic 12c¼°ÒÔÉϰ汾ÖÐĬÈϼ¯³Éµ½WebLogic×°ÖðüÖС£Oracle CoherenceÖеķ´ÐòÁл¯Ô¶³Ì´úÂëÖ´Ðзì϶ÔÊÐíδ¾Éí·ÝÑéÖ¤µÄ¹¥»÷Õßͨ¹ý¾«ÐÄ»ú¹ØµÄT3ÍøÂçºÍ̸ҪÇó½øÐй¥»÷¡£³É¹¦ÀûÓø÷ì϶µÄ¹¥»÷ÕßÄܹ»ÔÚÖ¸±êÖ÷»úÉÏÖ´ÐÐËÁÒâ´úÂë¡£
·ì϶ÑéÖ¤
·ì϶ϸ½ÚÏê¼û£ºhttps://www.zerodayinitiative.com/blog/2020/3/5/cve-2020-2555-rce-through-a-deserialization-bug-in-oracles-weblogic-server¡£
ͨ¹ý²¹¶¡ÕÒµ½·ì϶ÀûÓõã
CVE-2020-2555·ì϶ÊÇÓÉÓÚ¹¥»÷ÕßÄܹ»´«Èë¿É¿Ø²ÎÊý²¢Å²ÓÃjava²½Öè¡£ÔÚJavaÖУ¬£¬£¬ÀàÖеÄreadObject()»òreadExternal()²½ÖèÄܹ»±»×Ô¶¯Å²Óá£ÕâÁ½ÖÖ²½ÖèÒÔ¼°´ÓËüÃÇÄÚ²¿¿É»ñµÃµÄÈÎºÎÆäËû²½Öè¶¼Äܹ»ÊÓΪ·´ÐòÁл¯gadgetµÄÆðÔ´¡£
CVE-2020-2555µÄ²¹¶¡Öиü¸ÄÁËLimitFilterÀàÖеÄtoString()²½Ö裬£¬£¬Èçͼ£º
²¹¶¡ÔÚtoString()ÖÐɾ³ýÁ˶Ôextract()²½ÖèµÄËùÓÐŲÓÃÓï¾ä£¬£¬£¬ÏÂÎĽ«½éÉÜextract()²½ÖèµÄÖØÒªÐÔ¡£´Ë´¦Åú¸Ä³ö¸ñÓÐȤ£¬£¬£¬ÓÉÓÚÎÒÃÇÄܹ»Í¨¹ý¸÷Àà³ß¶ÈJREÀà(ÀýÈçBadAttributeValueExpException)µÄreadObject()²½Öè½Ó¼ûtoString()ÈçÉÏÃæµÄ´úÂëËùʾ£¬£¬£¬BadAttributeValueExpExceptionÀàµÄÐòÁл¯ÊµÀýÄܹ»ÓÃÓÚŲÓÃËÁÒâÀàµÄtoString()²½Öè¡£´Ë²½Öè¿ÉÓÃÓÚ½Ó¼ûÊܴ˲¹¶¡Ó°ÏìµÄLimitFilterÀàµÄtoString()²½Öè¡£
ÓйØÊ¹ÓÃtoString()×÷ΪÈë¿ÚµãµÄgadgetµÄʾÀý£¬£¬£¬Çë°Ý¼ûysererialÏîÖ÷ÕÅCommonsCollections5 gadget ¡£
SinkµãµÄѰÕÒ
SinkµãÖ¸µÄÊÇÓµÓи÷Àั×÷ÓõÄJava²½ÖèŲÓ㬣¬£¬ÕâÀั×÷ÓÃÔ̺¬£º
-ͨ¹ýŲÓÃFileOutputStream.write()ËÁÒâ´´½¨Îļþ¡£
-ͨ¹ýŲÓÃRuntime.exec()ËÁÒâÖ´ÐкÅÁî¡£
-ͨ¹ýŲÓÃMethod.invoke()µÄËÁÒâ²½ÖèŲÓá£
¶ÔÓÚ´Ë·ì϶£¬£¬£¬OG¶«·½ÌüÖØµãÊǶÔMethod.invoke()µÄŲÓ㬣¬£¬´Ë²½ÖèµÄŲÓÃÄܹ»Í¨¹ý·´ÉäÀ´Å²ÓÃËÁÒâJava²½Öè¡£Ïàʶ¸ÃÐÅÏ¢ºó£¬£¬£¬ÎÒÃÇÄܹ»²éÕÒËùÓдæÔÚextract()²½ÖèµÄʵÀý£¬£¬£¬²¢ÇÒ×îÖÕ»áŲÓÃMethod.invoke()¡£ÔÚCoherence¿âÖУ¬£¬£¬ËƺõÖ»ÓÐÕâÑùÒ»¸ö¿ÉÐòÁл¯ÀàµÄʵÀý£¨ÊµÏÖSerializable»òExternalizable½Ó¿Ú£©¡£
²é¿´ReflectionExtractorÀàºó£¬£¬£¬ÎÒÃÇÄܹ»È·ÈÏÇ°ÃæµÄ²Â²â£º
ReflectionExtractorÌṩΣÏÕµÄÔÓ£¬£¬ÔÊÐí¹¥»÷ÕßŲÓÃËÁÒâ²½Ö裬£¬£¬²¢ÇÒ¹¥»÷ÕßÄܹ»½ÚÖÆÆäÖеIJ½ÖèºÍ²ÎÊý¡£
ʵÏÖRCE
ͨ³££¬£¬£¬ÀûÓÃÔ¶³Ì´úÂëÖ´Ðзì϶±ØÒª¶à¸ö²½ÖèŲÓá£ÀýÈ磬£¬£¬ÔÚÊ¢ÐеÄApache Commons CollectionsµÄgadget£¬£¬£¬¹¥»÷Õß±ØÒªÊ¹ÓÃChainedTransformer½«ËÁÒâ²½ÖèŲÓô®½ÓÆðÀ´£¬£¬£¬´Ó¶øÊµÏÖRCE¡£Óë´ËÀàËÆ£¬£¬£¬Coherence¿âÖÐÒ²ÌṩÁËÕâÑùÒ»¸öÀà(ChainedExtractor)£¬£¬£¬Äܹ»ÈÃÎÒÃÇ´®½Óextract()ŲÓãº
½«ÒÔÉÏÐÅÏ¢½áºÏÆðÀ´£¬£¬£¬ÎÒÃÇÄܹ»Ê¹ÓÃÈçÏÂŲÓÃÁ´£¬£¬£¬×îÖÕʵÏÖÔ¶³Ì´úÂëÖ´ÐУ¬£¬£¬ÈôÊÇÖ¸±ê»·¾³Ê¹ÓÃÁËCoherence¿â£¬£¬£¬²¢ÇÒ¹¥»÷ÕßÄܹ»Í¶µÝ¶ñÒâÐòÁл¯¶ÔÏ󣬣¬£¬ÄÇô¹¥»÷Õß¾ÍÄÜʵÏÖÔ¶³Ì´úÂëÖ´ÐС£
ÐÞ¸´½¨Òé
¹Ù·½ÒѾÕë¶Ô´Ë·ì϶°ä²¼²¹¶¡£¬£¬£¬ÇëÊÜÓ°ÏìµÄÓû§²Î¿¼ÒÔÏÂÁ´½Ó×°Öò¹¶¡¸üУºhttps://www.oracle.com/security-alerts/cpujan2020.html¡£
һʱÐÞ¸´½¨Òé
ÈôÓйØÓû§ÁÙʱÎÞ·¨×°ÖÃÐÞ¸´²¹¶¡£¬£¬£¬¿Éͨ¹ý½ÚÖÆT3ºÍ̸µÄ½Ó¼ûÀ´Ò»Ê±×è¶ÏÕë¶ÔÀûÓÃT3ºÍ̸·ì϶µÄ¹¥»÷¡£
1. ½øÈëweblogic½ÚÖÆÌ¨£¬£¬£¬ÔÚbase_domainµÄÅäÖÃÒ³ÃæÖУ¬£¬£¬½øÈë¡°°²È«¡±Ñ¡Ïî¿¨Ò³Ãæ£¬£¬£¬µã»÷¡°É¸Ñ¡Æ÷¡±£¬£¬£¬½øÈëÏνÓɸѡÆ÷ÅäÖá£
2. ÔÚÏνÓɸѡÆ÷ÖÐÊäÈ룺weblogic.security.net.ConnectionFilterImpl£¬£¬£¬ÔÚÏνÓɸѡÆ÷¹æ¶¨ÖÐÊäÈë127.0.0.1 * * allow t3 t3s£¬£¬£¬0.0.0.0/0 * * deny t3 t3s(t3 ºÍt3s ºÍ̸µÄËùÓж˿ÚÖ»ÔÊÐí±¾µØ½Ó¼û)¡£
3. ±£Áô²¢ÖØÆô·þÎñÆ÷¼´¿ÉÉúЧ¡£
²Î¿¼Á´½Ó
https://www.zerodayinitiative.com/blog/2020/3/5/cve-2020-2555-rce-through-a-deserialization-bug-in-oracles-weblogic-server


¾©¹«Íø°²±¸11010802024551ºÅ