CVE-2026-78329
Apache Camel:Camel-Undertow:端点放弃了 undertow 特定的头过滤器策略,转而采用基础 HTTP 策略,导致 undertow 过滤从未在端点配置的路由上执行
- 已发布
- 2026年8月24日
- 已更新
- 2026年8月26日
- 分配 CNA
- apache
- 观察到的证据
- 2026年8月24日
初级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 天
- 百分位
- 36.4%
- 型号日期
- 2026年9月21日
EPSS 是统计估计,而不是确定性或影响衡量标准。将其与 CVSS、KEV 状态、暴露程度和您的环境相结合。
总结
Apache Camel Undertow 组件存在输入验证不当漏洞。此问题影响 Apache Camel:4.11.0(含)至 4.14.9(不含)、4.15.0(含)至 4.18.4(不含)、4.19.0(含)至 4.22.0(不含)。UndertowEndpoint 默认将其 headerFilterStrategy 字段设置为基类 HttpHeaderFilterStrategy,并将该实例推入其延迟创建的 UndertowHttpBinding 中,从而覆盖了 DefaultUndertowHttpBinding 在其自身构造函数中安装的 UndertowHeaderFilterStrategy。因此,除非部署提供了自定义绑定或显式的 headerFilterStrategy,否则在端点配置的路由上,Undertow 特有的过滤永远不会执行:该策略对象在刚被构造后就被立即替换,根本来不及被调用。其后果是,旧版 websocket. Exchange-header 前缀在 Undertow 传输边界的两个方向上都未被过滤,因此 Undertow HTTP 消费者会将这种形式的入站线路头映射到 Exchange 上,而 Undertow WebSocket 生产者会将它们读取为分发指令,并可能被操纵以投递到路由所选对端以外的对端;同时,Undertow 自身不接受的头名称会被映射到 Exchange 上,而不是被跳过。Rest DSL 消费者从未受影响,因为 UndertowComponent 显式指定了 UndertowRestHeaderFilterStrategy,后者扩展了 Undertow 策略。这并非 CVE-2025-30177 的回归:基类 HttpHeaderFilterStrategy 自行配置了入站 Camel 前缀过滤器,因此该公告引入的保护继续通过基类生效,从未丢失。该变更的实质是让 Undertow 策略在端点路径上被孤立,其结果是,随后写入该策略的两项修正——一项跳过 Undertow 拒绝的头名称,另一项在两个方向上过滤旧版 websocket. 前缀——被应用到了端点不再使用的类上,并且在发布这些修正的版本中从未生效。建议用户升级到修复此问题的 4.22.0 版本。如果用户使用的是 4.14.x LTS 发布流,建议升级到 4.14.9。如果用户使用的是 4.18.x 发布流,建议升级到 4.18.4。对于无法立即升级的部署,请显式配置策略而非依赖默认配置,例如在注册表中绑定一个 UndertowHeaderFilterStrategy,并在端点上将其引用为 undertow:http://0.0.0.0:8080/foo?headerFilterStrategy=#myStrategy,同时在信任边界使用 removeHeaders(“websocket.*”) 额外剥离分发头。请注意有一个升级也无法消除的残留限制:Undertow 组件有意将 websocket. 值保留为其外部可见 API 契约的一部分,而 UndertowProducer 使用 in.getHeader 读取这些值,该方法完全不经过 HeaderFilterStrategy。因此,恢复后的过滤仅在 Undertow 传输边界提供纵深防御。将不可信消息从非 Undertow 消费者带入 Undertow 生产者的路由不受此修复保护,必须自行剥离这些头。
来源
1Apache Camel camel-undertow 头部过滤器绕过(CVE-2026-78329)的概念验证复现工具,演示 websocket.* 头部注入,并提供受影响版本详情与修复验证。
负责任的使用
仅在您拥有或有权测试的系统上使用漏洞信息。 Kitploit 链接到公共研究元数据,并且不存储漏洞代码或恶意负载。