Apache Dubbo JavaNative反序列化漏洞
漏洞信息
漏洞名称: Apache Dubbo JavaNative反序列化漏洞
漏洞编号:
- CVE: CVE-2023-23638
漏洞类型: 反序列化
漏洞等级: 高危
漏洞描述: Apache Dubbo是一个高性能的、轻量级的开源Java RPC框架,广泛应用于分布式服务架构中,支持服务治理、负载均衡、服务降级等功能,是企业级微服务架构中的重要组件。该漏洞存在于Dubbo框架中,涉及JavaNative反序列化过程,攻击者可以通过构造恶意的序列化数据,利用Dubbo的反序列化机制执行任意代码。漏洞的技术根源在于Dubbo在处理Hessian协议时,未严格限制反序列化的类,导致攻击者可以绕过限制,执行非预期的反序列化操作。此漏洞的利用不需要认证,攻击者可以通过网络远程触发,可能导致服务器被完全控制,数据泄露或服务中断等严重后果。由于Dubbo在企业级应用中的广泛使用,该漏洞的影响范围较大,建议相关用户及时升级到安全版本或采取其他缓解措施。
产品厂商: Apache
产品名称: Dubbo
来源: https://github.com/cuijiung/dubbo-CVE-2023-23638
类型: CVE-2023:github search
仓库文件
- README.md
- pom.xml
- src
来源概述
CVE-2023-23638
仅供学习研究
ZooKeeper 自备
测试环境为 Java 8, 其它版本尚未测试, 不保证可用性
复现时需要为 DemoComsumer 添加 VM 参数: -Ddubbo.hessian.allowNonSerializable=true
, 详情参考 https://su18.org/post/hessian/#serializable
分析文章: https://exp10it.io/2023/03/apache-dubbo-cve-2023-23638-%E5%88%86%E6%9E%90/
POC 的本质是利用某个 class 修改 properties 以绕过限制, 代码给的是 JNDI 注入, 可以参考 CVE-2023-23638 Apache Dubbo JavaNative反序列化漏洞分析 自行修改成反序列化的利用方式