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()µÄËÁÒâ²½ÖèŲÓá£
¶ÔÓÚ´Ë·ì϶£¬GA»Æ½ð¼×³ÁµãÊǶÔ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ºÅ