2023年12月15日,Apache 官方发布安全通告,披露了其 Dubbo 存在反序列化漏洞,漏洞编号CVE-2023-29234。
Dubbo 是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring 框架无缝集成。
据官方描述,Apache Dubbo 某些版本在解码恶意包时存在反序列化漏洞,导致远程攻击者可利用该漏洞执行任意代码。
-
3.1.0 <= Apache Dubbo <= 3.1.10
-
3.2.0 <= Apache Dubbo <= 3.2.4
升级修复方案
升级Apache Dubbo 至对应安全版本。
补丁分析
-
https://github.com/apache/dubbo/commits/dubbo-3.1.11
-
https://github.com/apache/dubbo/commit/9ae97ea053dad758a0346a9acda4fbc8ea01429a
toString 这个补丁对Dubbo 历史漏洞分析过的应该很熟悉,在CVE-2021-43297 中,就是利用 "+" 的隐式调用触发了toString,造成反序列化。
复现
回溯调用链如下:
ObjectInput#readThrowable
DecodeableRpcResult#handleException
DecodeableRpcResult#decode
DecodeableRpcResult 是consumer 上的行为,初步判断这个漏洞是provider打consumer。其余的原理与CVE-2021-43297 相似。
影响评估:需要consumer主动去连接provider,场景如下:
-
利用producer 横向移动consumer。
-
内网如果zookeeper未授权,可以用fake producer攻击consumer。
原文始发于微信公众号(云鼎实验室):安全验证 | Dubbo CVE-2023-29234 反序列化漏洞分析
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论