Oracle WebLogic CVE-2022-21350 漏洞分析
字数 1346 2025-08-29 08:31:35
Oracle WebLogic CVE-2022-21350 漏洞分析教学文档
漏洞概述
CVE-2022-21350 是 Oracle WebLogic Server 中的一个反序列化漏洞,属于一条新的 gadget 链。该漏洞在低版本 JDK 中可能造成远程代码执行(RCE)风险。
影响版本
- 测试环境:WebLogic 14c 版本
- JDK 版本:1.8(特别在低于 1.8.0_191 的版本中存在 RCE 风险)
漏洞利用条件
- 可利用协议:IIOP 协议(根据提交者说明,实际只能在 IIOP 协议中利用,尽管官方文档提到 T3 协议)
- JDK 版本低于 1.8.0_191 时可实现 RCE
- JDK 版本高于等于 1.8.0_191 时风险降低为 SSRF 类型漏洞
漏洞利用链分析
完整的 gadget 调用链如下:
BadAttributeValueExpException.readObject方法SessionData.toString方法SessionData.isDebuggingSession方法SessionData.getAttribute方法SessionData.getAttributeInternal方法AttributeWrapperUtils.unwrapObject方法AttributeWrapperUtils.unwrapEJBObjects方法BusinessHandleImpl.getBusinessObject方法HomeHandleImpl.getEJBHome方法- 最终调用
ctx.lookup方法实现 JNDI 注入
漏洞评分与修复历史
- CVSS 评分:6.5 分(非最初认为的 9.8 分)
- 评分降低原因:
- Oracle 在 2021 年 7 月补丁中强制要求 JDK 最低版本为 1.8.0_191
- 低于此版本的 JDK 会收到警告提示(修复 CVE-2021-2382 的措施)
- JDK 1.8.0_191 及以上版本中 JNDI 注入只能造成 SSRF 风险而非 RCE
防御措施
- ABBREV_CLASSES 白名单:Oracle 已发布包含此白名单的补丁
- JDK 版本要求:强制使用 1.8.0_191 或更高版本 JDK
修复建议
- 及时更新补丁,参考 Oracle 官方发布的补丁:
- https://www.oracle.com/security-alerts/cpujan2022.html
- 升级 JDK 至 1.8.0_191 或更高版本
- 限制 IIOP 协议访问(如果业务不需要)
补充说明
- 该漏洞最初于 2021 年 8 月 25 日提交给 Oracle
- 官方文档中提到的 T3 协议利用可能是描述错误,实际只能在 IIOP 协议中利用
- 在 JDK 高版本中,该漏洞的风险从 RCE 降级为 SSRF 类型攻击
参考资源
- Oracle 官方安全公告:https://www.oracle.com/security-alerts/cpujan2022.html
- JDK 1.8.0_191 及以上版本对 JNDI 注入的限制