CVE-2026-46584
Apache Camel Mail:邮件生产者将攻击者提供的消息头用作JavaMail会话属性,使攻击者能够影响SMTP参数
- 已发布
- 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:L/I:N/A:N低 · 未来 30 天
- 百分位
- 45.3%
- 型号日期
- 2026年9月21日
EPSS 是统计估计,而不是确定性或影响衡量标准。将其与 CVSS、KEV 状态、暴露程度和您的环境相结合。
总结
不正确的输入验证,以及将敏感信息暴露给未授权行为者的漏洞,存在于 Apache Camel Mail 组件中。camel-mail 生产者(MailProducer.getSender)会扫描出站 Exchange 中位于 mail.smtp. / mail.smtps. 命名空间内的消息头,并且当存在此类消息头时,会构建一个按消息定制的 JavaMail 发送器,将这些值作为 JavaMail 会话属性应用,从而覆盖端点配置。该命名空间是 Camel 内部的——只有 MailProducer 会解释它——并且未被任何 HeaderFilterStrategy 阻止,因此这些值可能源自任何入站协议(例如 platform-http 查询参数或请求头,或来自不受信任生产者的 JMS / Kafka 消息),这些协议将路由馈送到以 smtp / smtps 生产者结尾的路径,且中间没有 removeHeaders 干预。最大影响取决于版本:在 4.19.0 之前的版本中,设置 mail.smtp.host 会将 SMTP 连接重定向到攻击者控制的服务器,并且由于生产者随后会使用端点配置的用户名和密码进行身份验证,这些凭据会被传输给攻击者;在 4.19.0 及更高版本中,生产者会显式连接到端点配置的主机,因此可达的影响仅限于削弱传输安全性(例如 mail.smtp.ssl.trust、mail.smtp.starttls.enable 或 mail.smtp.socks.host)以及拦截出站消息,而非主机重定向。利用此漏洞需要一条路由,将不受信任的输入引入邮件生产者,且不剥离该命名空间。此问题影响 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。升级后,按消息定制的覆盖默认被禁用;仅在受信任的端点上通过 useJavaMailSessionPropertiesFromHeaders=true 启用它。对于无法立即升级的部署,请在邮件生产者之前,于任何不受信任的入口与 smtp / smtps 生产者之间,使用 removeHeaders('mail.smtp.*') 和 removeHeaders('mail.smtps.*') 剥离该命名空间。即使启用了选择加入功能,路由作者仍应在任何承载不受信任输入的路径上剥离该命名空间。
来源
1CVE-2026-46584 的复现工具:Apache Camel camel-mail 中 mail.smtp.* 标头注入,可通过路径上的 SOCKS 拦截实现凭据窃取(已在 4.14.8/4.18.3/4.21.0 中修复)
负责任的使用
仅在您拥有或有权测试的系统上使用漏洞信息。 Kitploit 链接到公共研究元数据,并且不存储漏洞代码或恶意负载。