Weblogic-T3/IIOP反序列化(CVE-2020-14756)

admin 2021年12月3日11:38:47安全文章评论40 views2320字阅读7分44秒阅读模式

Smi1e@卫兵实验室

漏洞复现证明截图

Weblogic-T3/IIOP反序列化(CVE-2020-14756)

影响范围

Oracle Weblogic Server 12.1.3.0.0, 12.2.1.3.0, 12.2.1.4.0, 14.1.1.0.0

漏洞分析

CVE-2020-14756的修复方式为在  com.tangosol.util.ExternalizableHelper#readExternalizableLite 中添加过滤,如果序列化流对象 in 是类 java.io.ObjectInputStream 的实例,则会使用JEP290机制进行黑名单校验。

Weblogic-T3/IIOP反序列化(CVE-2020-14756)

因此,如果序列化流对象 in 不是类 java.io.ObjectInputStream 的实例,即可绕过该补丁。
weblogic.iiop.ObjectInputStreamImpl 重写了 ObjectInputStream 的反序列化逻辑,其会调用 weblogic.iiop.IIOPInputStream进行自定义的反序列化

Weblogic-T3/IIOP反序列化(CVE-2020-14756)

IIOP反序列化时会调用到 weblogic.iiop.ValueHandlerImpl#readValue,当反序列化类实现了 Externalizable 接口时,会调用该类的 readExternal 方法,并且传入的序列化流对象为 IIOPInputStream

Weblogic-T3/IIOP反序列化(CVE-2020-14756)

IIOPInputStream 并没有继承 ObjectInputStream ,因此可以绕过14756的补丁。

Weblogic-T3/IIOP反序列化(CVE-2020-14756)

readExternal 之后的反序列化流程可以参考:weblogic-T3/IIOP反序列化-远程代码执行-CVE-2020-14756

漏洞修复

对 ObjectInputStreamImpl 设置JEP290 ObjectInputFilter 。

Weblogic-T3/IIOP反序列化(CVE-2020-14756)

在 ValueHandlerImpl 中添加了 disableStream 属性,并在反序列化时把 IIOPInputStream 强转为 ObjectInputStream

Weblogic-T3/IIOP反序列化(CVE-2020-14756)

Weblogic-T3/IIOP反序列化(CVE-2020-14756)

关于我们

Weblogic-T3/IIOP反序列化(CVE-2020-14756)

人才招聘

二进制安全研究员

(Windows内核方向)

岗位职责:

- 负责研究Window内核相关漏洞利用技术;

- 负责分析Window内核漏洞的原理及缓解措施;


任职要求:

- 2年以上windows逆向工作经验。

- 熟悉windows底层架构、运行机制,熟悉汇编语言 C/C++语言,熟悉win32/64开发,并有相关开发经验;

- 熟悉windows驱动开发、熟悉windows平台内核架构;能熟练运用Windows平台下的软件调试方法。

- 熟练使用ida、windbg等调试软件工具调试分析漏洞。

- 有CVE编号、内核研究成果者优先;

- 具备良好的团队沟通、协作能力、良好的职业道德。

二进制安全研究员

(Linux内核方向)

岗位职责:

- 负责研究Linux内核相关漏洞利用技术;

- 负责分析Linux内核漏洞的原理及缓解措施;


任职要求:

- 2年以上Linux逆向工作经验。

- 熟悉Linux底层架构、运行机制,熟悉汇编语言 C/C++语言,熟悉x86/64开发,并有相关开发经验;

- 熟悉Linux驱动开发、熟悉Linux平台内核架构;能熟练运用Linux平台下的软件调试方法。

- 熟练使用ida、gdb、lldb等调试软件工具调试分析漏洞。

- 有CVE编号、内核研究成果者优先;

- 具备良好的团队沟通、协作能力、良好的职业道德。

二进制安全研究员

(系统应用方向)

岗位职责:

- 负责安全技术研究,跟踪国内外最新的安全技术以及安全漏洞的追踪;

- 负责进行二进制漏洞挖掘,包括不限于浏览器、chakara引擎、js引擎、office、pdf等等各种二进制类应用;


任职要求:

- 能主动关注国内外最新安全攻防技术,并在自己擅长和兴趣的领域能够进行深入的学习、研究;

- 熟练掌握windbg、ida、gdb等调试工具;

- 熟悉各类二进制安全漏洞原理(堆溢出、栈溢出、整数溢出、类型混淆等等)以及各种利用技术;

- 能够无障碍阅读英文技术文档;

- 具备良好的团队沟通、协作能力、良好的职业道德。

Web安全研究员

岗位职责:

- 跟踪最新安全技术动态,对高危安全漏洞进行快速分析和响应;

- 负责安全产品的线下、线上功能及流程的验收测试,保证项目进度和品质;

- 从事影响比较大的国内外大型的cms、中间件、框架漏洞挖掘工作


任职要求:

- 深入了解漏洞原理,能够独立挖掘/分析包括但不限于PHP/JAVA/.NET/ASP等大中型应用漏洞,并编写exp;

- 具备优秀的JAVA开发能力,能熟练挖掘 JAVA WEB 方面的漏洞,深入了解tomcat,weblogic,jboss,resin等中间件内部构造;

- 熟练使用至少一门开发语言,如:PHP、python、java;

- 有比较强的开发能力,熟悉java web的常见漏洞原理,有能力挖掘和分析java web方面的漏洞;

- 有重大漏洞发掘或高质量的CVE、0day挖掘能力的优先考虑;

Web安全研究员

(安全测试方向) 


岗位职责:

- 安全攻防技术研究,最新web应用及中间件漏洞挖掘研究;

- 跟踪分析国内外的安全动态,对重大安全事件进行快速响应;

- 针对相关产品,进行全面详细的安全测试评估;


任职要求:

- 了解常见的网络协议(TCP/IP,HTTP,FTP等);

- 熟练使用Wireshark等抓包工具,熟悉正则表达式;

- 掌握常见漏洞原理,有一定的漏洞分析能力;

- 具备php、python、java或其他相关语言编码能力;

- 对常见waf绕过有一定的基础经验;

- 具备一定的文档编写能力,具备良好的团队共同能力;

- 对安全有浓厚的兴趣,工作细致耐心。


本文始发于微信公众号(安恒信息安全研究院):Weblogic-T3/IIOP反序列化(CVE-2020-14756)

特别标注: 本站(CN-SEC.COM)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年12月3日11:38:47
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                  Weblogic-T3/IIOP反序列化(CVE-2020-14756) http://cn-sec.com/archives/436258.html

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: