CVE-2023-23638 Apache Dubbo 反序列化漏洞
概述
影响版本
[2.7.0, 2.7.21]、[3.0.0, 3.0.13]、[3.1.0, 3.1.5]
复现分析
这个漏洞可以看作是 CVE-2021-30179 的延伸,所以事实上还是一个泛化调用问题,之前我们分析到这个漏洞使用 SerializeClassChecker 进行黑名单验证。

validateClass() 方法会判断 OPEN_CHECK_CLASS 属性值,为 false 时跳出检查。

而这个值是通过 getInstance() 方法获取的,这段代码实现了单例模式,提供了全局访问点来获取该实例,所以可以通过 修改该 INSTANCE 实现利用,除了修改 OPEN_CHECK_CLASS 值,还可以修改 validateClass() 方法中任意值来绕过,比如黑名单列表 CLASS_DESERIALIZE_BLOCKED_SET。

参考