CVE-2026-40859
Apache Camel:Camel-Vertx-Http:当启用 transferException 时,通过原始 ObjectInputStream 对 HTTP 响应体进行不安全的 Java 反序列化
- 已发布
- 2026年7月6日
- 已更新
- 2026年7月6日
- 分配 CNA
- apache
- 观察到的证据
- 2026年8月6日
初级CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H低 · 未来 30 天
- 百分位
- 57.2%
- 型号日期
- 2026年9月21日
EPSS 是统计估计,而不是确定性或影响衡量标准。将其与 CVSS、KEV 状态、暴露程度和您的环境相结合。
总结
# Apache Camel 中的不可信数据反序列化漏洞 Apache Camel 存在不可信数据反序列化漏洞。camel-vertx-http 组件在解析携带 `Content-Type: application/x-java-serialized-object` 的 HTTP 响应体时,使用原始 `java.io.ObjectInputStream` 进行反序列化,且未应用任何 `ObjectInputFilter`(`VertxHttpHelper.deserializeJavaObjectFromStream`)。仅当生产者端点配置了 `transferException=true`(或组件级 `allowJavaSerializedObject=true`)且 `throwExceptionOnFailure` 保持默认值 `true` 时,才会触发此反序列化路径;在这种情况下,后端返回的带有 5xx 状态码且内容类型为 `application/x-java-serialized-object` 的 HTTP 响应,其响应体会在无任何类限制的情况下被反序列化。攻击者若能控制 Camel 生产者所通信的后端——通过未加密(纯 HTTP)连接上的中间人攻击位置,或通过入侵后端服务——即可返回精心构造的序列化 Java 对象,若 classpath 中存在合适的 gadget 链,则可在 Camel 应用主机上实现远程代码执行。在默认配置(`transferException` 为 `false`)下,该路径不可达。 此漏洞影响 Apache Camel 以下版本:4.0.0 至 4.14.8 之前、4.15.0 至 4.18.3 之前、4.19.0 至 4.20.0 之前。建议用户升级至修复该问题的 4.20.0 版本。若用户使用 4.14.x LTS 发布流,建议升级至 4.14.8。若用户使用 4.18.x 发布流,建议升级至 4.18.3。升级后,两个辅助工具执行的反序列化操作均受默认 `ObjectInputFilter`(允许列表 `java.**;javax.**;org.apache.camel.**;!*`)约束,可通过新的 `deserializationFilter` 端点选项或 JVM 全局的 `-Djdk.serialFilter` 系统属性进行自定义。 对于无法立即升级的部署:请勿在与不受信任或可通过网络访问的后端通信的生产者上启用 `transferException=true`(或 `allowJavaSerializedObject=true`);确保生产者连接使用 TLS(https),以防止响应被中间人替换;在必须使用该选项的情况下,设置显式的 `-Djdk.serialFilter` 允许列表(例如 `java.**;org.apache.camel.**;!*`)以约束反序列化。
来源
1CVE-2026-40859 的复现工具 — Apache Camel camel-netty-http / camel-vertx-http 生产者端 HTTP 响应体不安全反序列化(RCE)
负责任的使用
仅在您拥有或有权测试的系统上使用漏洞信息。 Kitploit 链接到公共研究元数据,并且不存储漏洞代码或恶意负载。