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()ÒªÁ죬£¬ £¬£¬£¬Èçͼ£º


ÈËÉú¾ÍÊDz©-×ðÁú¿­Ê±Öйú¹ÙÍø


²¹¶¡ÔÚtoString()ÖÐɾ³ýÁ˶Ôextract()ÒªÁìµÄËùÓÐŲÓÃÓï¾ä£¬£¬ £¬£¬£¬ÏÂÎĽ«ÏÈÈÝextract()ÒªÁìµÄÖ÷ÒªÐÔ¡£¡£¡£¡£¡£¡£´Ë´¦ÐÞ¸ÄÌØÊâÓÐȤ£¬£¬ £¬£¬£¬ÓÉÓÚÎÒÃÇ¿ÉÒÔͨ¹ýÖÖÖÖ±ê×¼JREÀà(ÀýÈçBadAttributeValueExpException)µÄreadObject()ÒªÌå»á¼ûtoString()ÈçÉÏÃæµÄ´úÂëËùʾ£¬£¬ £¬£¬£¬BadAttributeValueExpExceptionÀàµÄÐòÁл¯ÊµÀý¿ÉÒÔÓÃÓÚŲÓÃí§ÒâÀàµÄtoString()ÒªÁì¡£¡£¡£¡£¡£¡£´ËÒªÁì¿ÉÓÃÓÚ»á¼ûÊܴ˲¹¶¡Ó°ÏìµÄLimitFilterÀàµÄtoString()ÒªÁì¡£¡£¡£¡£¡£¡£


ÈËÉú¾ÍÊDz©-×ðÁú¿­Ê±Öйú¹ÙÍø


ÓйØÊ¹ÓÃtoString()×÷ΪÈë¿ÚµãµÄgadgetµÄʾÀý£¬£¬ £¬£¬£¬Çë°Ý¼ûysererialÏîÄ¿µÄCommonsCollections5 gadget ¡£¡£¡£¡£¡£¡£


SinkµãµÄѰÕÒ


SinkµãÖ¸µÄÊǾßÓÐÖÖÖÖ¸±×÷ÓõÄJavaÒªÁìŲÓ㬣¬ £¬£¬£¬ÕâÀั×÷ÓðüÀ¨£º      


-ͨ¹ýŲÓÃFileOutputStream.write()í§Ò⽨ÉèÎļþ¡£¡£¡£¡£¡£¡£      

-ͨ¹ýŲÓÃRuntime.exec()í§ÒâÖ´ÐÐÏÂÁî¡£¡£¡£¡£¡£¡£      

-ͨ¹ýŲÓÃMethod.invoke()µÄí§ÒâÒªÁìŲÓᣡ£¡£¡£¡£¡£


¹ØÓÚ´ËÎó²î£¬£¬ £¬£¬£¬ÈËÉú¾ÍÊDz©ÖصãÊǶÔMethod.invoke()µÄŲÓ㬣¬ £¬£¬£¬´ËÒªÁìµÄŲÓÿÉÒÔͨ¹ý·´ÉäÀ´Å²ÓÃí§ÒâJavaÒªÁì¡£¡£¡£¡£¡£¡£Ïàʶ¸ÃÐÅÏ¢ºó£¬£¬ £¬£¬£¬ÎÒÃÇ¿ÉÒÔ²éÕÒËùÓб£´æextract()ÒªÁìµÄʵÀý£¬£¬ £¬£¬£¬²¢ÇÒ×îÖÕ»áŲÓÃMethod.invoke()¡£¡£¡£¡£¡£¡£ÔÚCoherence¿âÖУ¬£¬ £¬£¬£¬ËƺõÖ»ÓÐÕâÑùÒ»¸ö¿ÉÐòÁл¯ÀàµÄʵÀý£¨ÊµÏÖSerializable»òExternalizable½Ó¿Ú£©¡£¡£¡£¡£¡£¡£


ÈËÉú¾ÍÊDz©-×ðÁú¿­Ê±Öйú¹ÙÍø


Éó²éReflectionExtractorÀàºó£¬£¬ £¬£¬£¬ÎÒÃÇ¿ÉÒÔÈ·ÈÏÇ°ÃæµÄÍÆ²â£º


ÈËÉú¾ÍÊDz©-×ðÁú¿­Ê±Öйú¹ÙÍø


ReflectionExtractorÌṩΣÏÕµÄÔ­Ó£¬ £¬£¬£¬ÔÊÐí¹¥»÷ÕßŲÓÃí§ÒâÒªÁ죬£¬ £¬£¬£¬²¢ÇÒ¹¥»÷Õß¿ÉÒÔ¿ØÖÆÆäÖеÄÒªÁìºÍ²ÎÊý¡£¡£¡£¡£¡£¡£


ʵÏÖRCE


ͨ³££¬£¬ £¬£¬£¬Ê¹ÓÃÔ¶³Ì´úÂëÖ´ÐÐÎó²îÐèÒª¶à¸öÒªÁìŲÓᣡ£¡£¡£¡£¡£ÀýÈ磬£¬ £¬£¬£¬ÔÚÊ¢ÐеÄApache Commons CollectionsµÄgadget£¬£¬ £¬£¬£¬¹¥»÷ÕßÐèҪʹÓÃChainedTransformer½«í§ÒâÒªÁìŲÓô®½ÓÆðÀ´£¬£¬ £¬£¬£¬´Ó¶øÊµÏÖRCE¡£¡£¡£¡£¡£¡£Óë´ËÀàËÆ£¬£¬ £¬£¬£¬Coherence¿âÖÐÒ²ÌṩÁËÕâÑùÒ»¸öÀà(ChainedExtractor)£¬£¬ £¬£¬£¬¿ÉÒÔÈÃÎÒÃÇ´®½Óextract()ŲÓãº


ÈËÉú¾ÍÊDz©-×ðÁú¿­Ê±Öйú¹ÙÍø


½«ÒÔÉÏÐÅÏ¢Á¬ÏµÆðÀ´£¬£¬ £¬£¬£¬ÎÒÃÇ¿ÉÒÔʹÓÃÈçÏÂŲÓÃÁ´£¬£¬ £¬£¬£¬×îÖÕʵÏÖÔ¶³Ì´úÂëÖ´ÐУ¬£¬ £¬£¬£¬ÈôÊÇÄ¿µÄÇéÐÎʹÓÃÁËCoherence¿â£¬£¬ £¬£¬£¬²¢ÇÒ¹¥»÷Õß¿ÉÒÔͶµÝ¶ñÒâÐòÁл¯¹¤¾ß£¬£¬ £¬£¬£¬ÄÇô¹¥»÷Õß¾ÍÄÜʵÏÖÔ¶³Ì´úÂëÖ´ÐС£¡£¡£¡£¡£¡£


ÈËÉú¾ÍÊDz©-×ðÁú¿­Ê±Öйú¹ÙÍø



ÐÞ¸´½¨Òé


¹Ù·½ÒѾ­Õë¶Ô´ËÎó²îÐû²¼²¹¶¡£¬£¬ £¬£¬£¬ÇëÊÜÓ°ÏìµÄÓû§²Î¿¼ÒÔÏÂÁ´½Ó×°Öò¹¶¡¸üУº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. ÉúÑIJ¢ÖØÆôЧÀÍÆ÷¼´¿ÉÉúЧ¡£¡£¡£¡£¡£¡£


²Î¿¼Á´½Ó


https://www.zerodayinitiative.com/blog/2020/3/5/cve-2020-2555-rce-through-a-deserialization-bug-in-oracles-weblogic-server