安全研究 SECURITY SERVICE

Weblogic CVE-2020-2555反序列化远程代码执行漏洞

发布时间: 2020-03-11
来源:
浏览数: 146

  漏洞背景  




反序列化漏洞已经逐渐成为攻击者/研究人员在面对Java Web应用安全研究侧重点。这些漏洞通常能进行远程代码执行(RCE),并且修复起来比较困难。在本文中,我们将分析CVE-2020-2555漏洞影响,并提供相应的解决方案。该漏洞存在于Oracle Coherence库中,从而影响使用该库的Oracle WebLogic服务器等常见产品(涉及多个Weblogic版本)。



  漏洞描述  




2020年3月5日,Zero0day公布了关于Weblogic(CVE-2020-2555)详细分析文章,Oracle Coherence为Oracle融合中间件中的产品,在WebLogic 12c及以上版本中默认集成到WebLogic安装包中,攻击者通过t3协议发送构造的序列化数据,能过造成命令执行的效果。
Weblogic CVE-2020-2555反序列化远程代码执行漏洞


  影响版本  




影响版本(包含Coherence包):

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


  影响版本  





    在分析CVE-2020-2555的补丁引入了一处修改,涉及LimitFilter类的toString()方法:下图为打补丁前的相关代码


Weblogic CVE-2020-2555反序列化远程代码执行漏洞

补丁在toString()中会将this.m_oAnchorTop和this.m_oAnchorBottom

作为参数传入ValueExtractor.extract(),补丁移除了extractor.extract()操作,跟进extract()看下,发现extract()只是一个抽象方法,并没有实现,那说明extract()在ValueExtractor的子类中可以利用。因为是反序列化,所以我们只需要在ValueExtractor子类中找到实现了Serializable或者ExternalizableLite反序列化接口并且有extract()的方法。

最终在com.tangosol.util.extractor.ReflectionExtractor#extract()找到了反射任意方法调用。


Weblogic CVE-2020-2555反序列化远程代码执行漏洞


执 行 过 程


1、通过调用FileOutputStream.write()实现任意文件创建;2、通过调用Runtime.exec()实现任意命令执行;

3、通过调用Method.invoke()实现任意方法调用。对于该漏洞,我们主要关注的是Method.invoke(),该调用能通过反射来调用任意Java方法。了解该信息后,我们开始查找具备extract()方法的所有实例(根据前文分析,该方法正是补丁分析后我们得出的根源点),并且最终会调用Method.invoke()。在Coherence库中提供了这样一个类(ChainedExtractor),可以让我们串接extract()调用:只要反序列化执行了chainedExtractor.extract()就可以造成rce。


Weblogic CVE-2020-2555反序列化远程代码执行漏洞

测试如下:

Weblogic CVE-2020-2555反序列化远程代码执行漏洞


处 置 建 议



防护建议


部署捷普入侵防御系统(IPS)的用户,更新相应规则升级包,开启Weblogic防护规则,配置相关安全策略,即可达到防护效果。


Weblogic CVE-2020-2555反序列化远程代码执行漏洞

临 时 缓 解 措 施



1、升级补丁,参考oracle官网发布的补丁

https://www.oracle.com/security-alerts/cpujan2020.html

2、如果不依赖T3协议进行JVM通信,禁用T3协议。或配置相关筛选器保存生效(需重启)127.0.0.1 * * allow t3 t3s

0.0.0.0/0 * * deny t3 t3s

Weblogic CVE-2020-2555反序列化远程代码执行漏洞

相关检测T3协议命令

nmap.exe -p 7001 --script=weblogic-t3-info.nse XXX.XXX.XXX.XXX


Weblogic CVE-2020-2555反序列化远程代码执行漏洞

参考:

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

https://y4er.com/post/weblogic-cve-2020-2555/

 

分享到:
  • 相关推荐 RELATED TO RECOMMEND
  • 点击次数: 13
    2025 - 06 - 09
    1、Imithemes Eventer存在授权机制缺失漏洞 https://www.cnnvd.org.cn/home/globalSearch?keyword=CNNVD-202505-2547 2、Nasatheme Nasa_core存在PHP远程文件包含漏洞 https://www.cnnvd.org.cn/home/globalSearch?keyword=CNNVD-202505-2459 3、RSJoomla! RSMail! 跨站脚本漏洞 https://rsjoomla.com/ 4、CVE-2025-5837 https://vuldb.com/?submit.591364
  • 点击次数: 13
    2025 - 06 - 03
    WordPress plugin Dreamstime Stock Photos 跨站脚本漏洞 https://www.cnnvd.org.cn/home/globalSearch?keyword=CNNVD-202503-274 Linux等厂商的多款产品存在空指针解引用漏洞https://www.cve.org/CVERecord?id=CVE-2023-46838 PHPGurukul Medical Card Generation System 安全漏洞 https://www.cnnvd.org.cn/home/globalSearch?keyword=CNNVD-202505-3557 Asus Gt-ac2900_firmware存在认证机制不恰当漏洞 https://github.com/atredispartners/advisories/blob/master/ATREDIS-2020-0010.md
  • 点击次数: 20
    2025 - 05 - 19
    CVE-2025-47273 https://www.cve.org/CVERecord?id=CVE-2025-47273 CVE-2025-4808 https://vuldb.com/?submit.572602 Netgate pfSense CE 跨站脚本漏洞 https://www.cve.org/CVERecord?id=CVE-2024-54779 CVE-2025-4610  https://www.cve.org/CVERecord?id=CVE-2025-4610
  • 点击次数: 23
    2025 - 05 - 07
    CVE-2025-4298 https://www.tenda.com.cn/ CVE-2025-4297 https://vuldb.com/?ctiid.307401 CVE-2025-4292 https://vuldb.com/?ctiid.307399 CVE-2025-4290 https://vuldb.com/?ctiid.307397
  • 点击次数: 13
    2025 - 04 - 14
    CVE-2025-3389  https://vuldb.com/?id.303635 CVE-2025-3387https://www.cve.org/CVERecord?id=CVE-2025-3387 CVE-2025-32409https://www.cve.org/CVERecord?id=CVE-2025-32409
友情连接:
免费服务热线 ree service hotline 400-613-1868 手机端
法律声明 Copyright  西安交大捷普网络科技有限公司  陕ICP备18022218号-1

陕公网安备 61019002000857号

犀牛云提供云计算服务