CVE-2026-46454
Apache Camel:Camel-Cometd:入站Bayeux消息头在未使用HeaderFilterStrategy的情况下被映射到Exchange中,允许未经身份验证的客户端注入Camel控制头
- 已发布
- 2026年7月6日
- 已更新
- 2026年7月6日
- 分配 CNA
- apache
- 观察到的证据
- 2026年8月6日
初级CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H低 · 未来 30 天
- 百分位
- 55.5%
- 型号日期
- 2026年9月21日
EPSS 是统计估计,而不是确定性或影响衡量标准。将其与 CVSS、KEV 状态、暴露程度和您的环境相结合。
总结
# Apache Camel Cometd 组件中的输入验证不当漏洞 Apache Camel Cometd 组件存在输入验证不当漏洞。camel-cometd 组件在将入站 Bayeux(CometD)消息头映射到 Camel Exchange 时,未应用 HeaderFilterStrategy。CometdBinding.populateExchangeFromMessage 会将 CometD 客户端提供的整个 ext.CamelHeaders 映射直接复制到 Camel 消息上(message.setHeaders),因此任何消息头名称——包括 Camel 内部控制头(如 CamelHttpUri、CamelFileName 或 CamelJmsDestinationName)——都会被原样接受。由于 CometdComponent 默认不安装 Bayeux SecurityPolicy,任何能够针对 CometD 端点完成 Bayeux 握手的客户端都可以在无需认证的情况下发布此类消息。因此,攻击者可以注入任意 Camel 控制头,从而影响路由中下游生产者的行为(例如重定向 HTTP 生产者、更改文件名或覆盖 JMS 目标);注入的消息头还会在内部 direct、seda 和 vm 跳转中持续存在。具体的下游影响取决于路由使用了哪些生产者。此问题影响 Apache Camel:4.0.0 至 4.14.8 之前、4.15.0 至 4.18.3 之前、4.19.0 至 4.21.0 之前。建议用户升级到修复该问题的 4.21.0 版本。如果用户使用 4.14.x LTS 发布流,建议升级到 4.14.8。如果用户使用 4.18.x 发布流,建议升级到 4.18.3。该修复在 camel-cometd 绑定中实现了 HeaderFilterStrategy(代码中长期存在的 TODO),在入站映射时对 Camel 消息头命名空间进行不区分大小写的过滤,因此客户端提供的 Camel* / camel* 消息头不再被复制到 Exchange 中。对于无法立即升级的部署,请在入站 CometD 消息到达任何下游生产者之前剥离 Camel 控制头(例如在路由开头使用 removeHeaders('Camel*') 和 removeHeaders('camel*')),并在 CometdComponent 上安装显式的 Bayeux SecurityPolicy,以便只有经过认证的客户端才能发布消息。
来源
1CVE-2026-46454 的复现器 — Apache Camel camel-cometd 入站 Bayeux 头注入(未认证的 Camel 控制头注入 → 下游生产者转向 / RCE)
负责任的使用
仅在您拥有或有权测试的系统上使用漏洞信息。 Kitploit 链接到公共研究元数据,并且不存储漏洞代码或恶意负载。