CVE-2026-42527
Apache Camel:宽松的默认 ObjectInputFilter 模式允许 java.net.** 并导致基于 DNS 的信息泄露
- 已发布
- 2026年7月6日
- 已更新
- 2026年7月6日
- 分配 CNA
- apache
- 观察到的证据
- 2026年8月7日
初级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 天
- 百分位
- 50.1%
- 型号日期
- 2026年9月21日
EPSS 是统计估计,而不是确定性或影响衡量标准。将其与 CVSS、KEV 状态、暴露程度和您的环境相结合。
总结
# Apache Camel 中的不可信数据反序列化漏洞 Apache Camel 存在不可信数据反序列化漏洞。随多个 Apache Camel 组件一起发布的默认 ObjectInputFilter 模式(用于纵深防御的反序列化过滤,即 `java.**;javax.**;org.apache.camel.**;!*`,或聚合仓库组件中不含 `javax.**` 的变体)使用了递归的 `java.**` 通配符,该通配符会放行那些 hashCode/equals/readObject 方法会执行网络 I/O 的类,尤其是 java.net.URL 和 java.net.InetAddress。当攻击者能够向受影响的 Camel 消费者传递 Java 序列化负载时,对包含 java.net.URL 键的 HashMap(或任何会对元素调用 hashCode 的集合)进行反序列化,会导致 JVM 在反序列化副作用期间向攻击者提供的主机发起 DNS 查询。由于结果对象的类(HashMap)位于允许列表中,类级过滤器检查会通过;该 DNS 查询可在攻击者控制的 DNS 服务器上被观察到,从而形成带外侧信道。camel-jms 系列的风险最高,因为当 mapJmsMessage=true(默认值)时,JmsBinding.extractBodyFromJms 会无条件调用 ObjectMessage.getObject()。受影响的组件包括:camel-jms、camel-sjms、camel-amqp、camel-mina、camel-netty、camel-netty-http、camel-vertx-http、camel-infinispan,以及聚合仓库组件 camel-leveldb、camel-cassandraql、camel-consul、camel-sql(JDBC 聚合仓库)。此问题影响 Apache Camel 的以下版本:4.14.0 至 4.14.8 之前、4.15.0 至 4.18.3 之前、4.19.0 至 4.21.0 之前。建议用户升级到包含 CAMEL-23372 修复的版本(一旦可用):4.21.x 系列使用 4.21.0,4.18.x 系列使用 4.18.3,4.14.x 系列使用 4.14.8。对于无法立即升级的部署,请配置 JMS 提供方侧的允许列表(Apache ActiveMQ Artemis 的 `deserializationAllowList` / `deserializationDenyList`,Apache ActiveMQ Classic 的 `org.apache.activemq.SERIALIZABLE_PACKAGES`)作为主要缓解措施,和/或通过端点级 `deserializationFilter` 选项或 JVM 全局 `-Djdk.serialFilter` 系统属性覆盖代码内默认值,并显式拒绝:`!java.net.**;java.**;javax.**;org.apache.camel.**;!*`(或聚合仓库组件使用 `!java.net.**;java.**;org.apache.camel.**;!*`,因为这些组件不包含 javax.**)。
来源
1CVE-2026-42527 的复现器 — Apache Camel 宽松的默认 ObjectInputFilter 允许 java.net.URL,从而启用基于 DNS 的带外侧信道
负责任的使用
仅在您拥有或有权测试的系统上使用漏洞信息。 Kitploit 链接到公共研究元数据,并且不存储漏洞代码或恶意负载。