CVE-2026-88900
Apache Camel:Camel-JGroups:JGroups 消费者中对集群消息的不安全 Java 反序列化可导致远程代码执行
- 已发布
- 2026年10月19日
- 已更新
- 2026年10月20日
- 分配 CNA
- apache
- 观察到的证据
- 2026年10月21日
初级CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H低 · 未来 30 天
- 百分位
- 46.3%
- 型号日期
- 2026年10月25日
EPSS 是统计估计,而不是确定性或影响衡量标准。将其与 CVSS、KEV 状态、暴露程度和您的环境相结合。
总结
Apache Camel 的 Camel-Jgroups 组件中存在不可信数据反序列化漏洞。此问题影响 Apache Camel:从 4.0.0 到 4.18.5 之前,从 4.19.0 到 4.22.1 之前。JGroupsEndpoint.createExchange(Message) 会在 exchange 被路由之前,由 CamelJGroupsReceiver 针对 jgroups 消费者收到的每条消息进行调用,该方法从 org.jgroups.Message.getObject() 设置 exchange 的 body。对于 ObjectMessage(即 Camel jgroups 生产者发送的消息类型),JGroups 会在消息到达时于其自身的接收线程上通过 ObjectInputStream 对载荷进行 Java 反序列化,而 getObject() 返回得到的对象。除非部署设置了 JVM 范围的序列化过滤器,否则该路径上不会应用任何 java.io.ObjectInputFilter:camel-jgroups 未安装任何过滤器,且受影响版本随附的 JGroups 版本也未应用其自身的过滤器,因此应用程序类路径上的任何可序列化类都可能被实例化,并执行其反序列化回调。除非配置了 channel 或 channelProperties 选项,否则消费者会使用 new JChannel()(即标准 JGroups 协议栈)创建其 channel,该协议栈通过 UDP 进行多播,且不使用 AUTH 协议、不进行加密,因此任何能够访问集群多播组或绑定端口的主机都可以在无凭据的情况下加入集群并向消费者发送消息。此类主机可以发送精心构造的序列化对象,当类路径上存在可用的反序列化利用链时,便可在 Camel 进程中导致远程代码执行,且消费者无需启用任何非默认选项。由于 JGroups 会在 Camel 的接收器运行之前就实例化该对象,Camel 执行的检查只能检查反序列化后的结果,无法阻止反序列化期间运行的代码,因此要彻底解决此问题,还需要一项在读取载荷之前生效的控制措施,如缓解措施中所述。利用该漏洞需要能够通过网络访问集群的多播组或绑定端口(在默认的 UDP 多播传输方式下,这意味着位于相邻网络中的主机),并且类路径上存在可用的利用链,因此其严重性被评定为高而非严重。建议用户升级到 4.23.0 版本,该版本修复了此问题。如果用户处于 4.22.x 发布流,建议升级到 4.22.1。如果用户处于 4.18.x 发布流,建议升级到 4.18.5。4.14.x 及更早的发布流,以及 4.15.x 至 4.17.x 和 4.19.x 至 4.21.x 发布线,在此问题解决之前已达到生命周期终止,将不会获得修复,因此部署在这些发布线上的用户必须迁移到受支持的版本。
来源
可运行的 Spring Boot 概念验证,复现 CVE-2026-88900,即 camel-jgroups 不安全的 Java 反序列化漏洞,展示受影响版本与已修补版本的行为对比。
负责任的使用
仅在您拥有或有权测试的系统上使用漏洞信息。 Kitploit 链接到公共研究元数据,并且不存储漏洞代码或恶意负载。