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()µÄËÁÒâ²½ÖèŲÓᣡ£¡£¡£¡£¡£¡£¡£
¶ÔÓÚ´Ë·ì϶£¬£¬£¬£¬£¬8827Ì«Ñô¼¯ÍųÁµãÊǶÔ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ºÅ