漏洞概述 CVE-2026-46584 严重程度: 中等 摘要: Apache Camel 的邮件生产者(MailProducer)应用了攻击者提供的 和 消息头作为 JavaMail 会话属性,允许攻击者削弱 SMTP 传输安全性,并在 4.19.0 之前的版本上重定向连接并窃取配置的 SMTP 凭据。 影响范围 受影响版本: - 4.0.0 到 4.14.8 - 4.15.0 到 4.18.3 - 4.19.0 到 4.21.0 修复方案 已修复版本: - 4.14.8 - 4.18.3 - 4.21.0 描述 详细描述: 邮件生产者(MailProducer)在 和 命名空间中扫描了传出 Exchange 的消息头,并在存在时构建了带有这些值的 per-message JavaMail 发送器,覆盖了端点配置。该命名空间是 Camel-internal,仅由 MailProducer 解释,未被任何 HeaderFilterStrategy 阻止,因此值可能来自任何入站协议(例如 platform-http 查询参数或请求头,或来自不受信任生产者的 JMS/Kafka 消息)。最大影响取决于版本:在 4.19.0 之前的版本上,设置 会将 SMTP 连接重定向到攻击者控制的服务器,因为生产者会在将凭据传输给攻击者之前与端点配置的凭据进行身份验证。在 4.19.0 及更高版本上,生产者显式连接到端点配置的宿主,因此可达到的影响仅限于削弱传输安全性(例如 或 或 ),并拦截传出消息而不是主机重定向。利用需要一条将不受信任的输入路由到邮件生产者而不剥离命名空间的路线。 缓解措施 建议: 用户应升级到 4.21.0 以解决此问题。如果用户使用的是 4.14.x LTS 发布流,则建议升级到 4.14.8。如果用户使用的是 4.18.x 发布流,则建议升级到 4.18.3。升级后,per-message 覆盖默认禁用;仅在受信任的端点上启用,使用 。对于无法立即升级的部署,应在邮件生产者之前使用 和 剥离命名空间,以剥离任何不受信任的入站和 smtp/smtps 生产者。即使启用了选项,路由作者仍应剥离任何携带不受信任输入的路线上的命名空间。 参考 JIRA 票证: https://issues.apache.org/jira/browse/CAMEL-23222 PGP 签名公告数据: CVE-2026-46584.txt.asc Mitre CVE 条目: https://www.cve.org/CVERecord?id=CVE-2026-46584 信用 发现者: Yu Bao from PayPal 备注 JIRA 票证: https://issues.apache.org/jira/browse/CAMEL-23222 指的是解决该问题的各种提交,并有更多细节。修复已在 https://github.com/apache/camel/blob/camel-23222 上合并到主分支,并回溯到 camel-4.18.x(commit 725175e3aa16216361acc8497345f8a05536d2e0)和 camel-4.14.x(commit 2a2815025608f156a20a3a727a86fb5e6ad2aa)。修复引入了 per-message JavaMail 会话属性覆盖,背后有一个新的端点选项 (默认 false,标记为 security-insecure)。此外,深度防御 HeaderFilterStrategy 现在过滤入站映射上的 和 前缀。这是一个默认的收紧破坏性更改:路由如果依赖于 per-message 头,则必须通过 重新启用。该问题被分类为 CWE-20(Improper Input Validation),具有凭据和消息暴露影响(CWE-200,敏感信息暴露)。它与相同的 Camel 头注入家族相关,如 CVE-2025-27636、CVE-2025-29891、CVE-2025-30177、CVE-2026-40453、CVE-2026-46454 和 CVE-2026-47323(CAMEL-23222),应用于命名空间,原始扫描未覆盖。