CVE-2026-46457
Apache Camel:Camel-NATS:入站NATS消息头在未配置HeaderFilterStrategy的情况下被映射到Exchange中,允许能够向该主题发布消息的客户端注入Camel控制头
- 已发布
- 2026年7月6日
- 已更新
- 2026年7月6日
- 分配 CNA
- apache
- 观察到的证据
- 2026年8月7日
初级CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N低 · 未来 30 天
- 百分位
- 49.8%
- 型号日期
- 2026年9月21日
EPSS 是统计估计,而不是确定性或影响衡量标准。将其与 CVSS、KEV 状态、暴露程度和您的环境相结合。
总结
Apache Camel NATS 组件中存在输入验证不当漏洞。camel-nats 组件将入站 NATS 消息头映射到 Camel Exchange,但其 headerFilterStrategy 默认设置为一个裸的 new DefaultHeaderFilterStrategy(),且未配置任何入站规则(NatsConfiguration)。当未设置 inFilter、inFilterPattern 或 inFilterStartsWith 时,DefaultHeaderFilterStrategy.applyFilterToExternalHeaders 会对每个头名称返回“不过滤”,因此 NatsConsumer 会将每条 NATS 消息头(包括 Camel 内部控制头,如 CamelHttpUri、CamelFileName 或 CamelSqlQuery)原样复制到 Camel 消息中。因此,能够向被消费的 NATS 主题发布消息的客户端,可以注入任意 Camel 控制头,从而影响路由中下游生产者的行为(例如重定向 HTTP 生产者、更改文件名或覆盖查询);注入的头还会在内部 direct、seda 和 vm 跳转中持续存在。具体的下游影响取决于路由使用了哪些生产者。NATS 消息头需要 NATS 2.2 或更高版本,并且当 NATS 服务器配置为无认证时(NATS 服务器默认配置),该问题无需凭据即可触发。该问题影响 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-nats 默认使用专用的 NatsHeaderFilterStrategy,在入站映射时对 Camel 头命名空间进行不区分大小写的过滤,因此客户端提供的 Camel* / camel* 头不再被复制到 Exchange 中。对于无法立即升级的部署,请在入站 NATS 消息到达任何下游生产者之前剥离 Camel 控制头(例如在路由开头使用 removeHeaders('Camel*') 和 removeHeaders('camel*')),并在 NATS 服务器上启用认证,以便只有受信任的客户端才能向被消费的主题发布消息。
来源
1CVE-2026-46457 复现工具 — Apache Camel camel-nats 入站标头注入(通过 NATS 发布者进行 Camel 控制标头注入;CamelHttpUri -> SSRF)
负责任的使用
仅在您拥有或有权测试的系统上使用漏洞信息。 Kitploit 链接到公共研究元数据,并且不存储漏洞代码或恶意负载。