CVE-2026-78329: Apache Camel: Camel-Undertow: the endpoint discarded the undertow-specific header filter strategy in favour of the base HTTP one, so the undertow filtering never ran on endpoint-configured routes
Improper input validation vulnerability in Apache Camel Undertow component.
This issue affects Apache Camel: from 4.11.0 before 4.14.9, from 4.15.0 before 4.18.4, from 4.19.0 before 4.22.0.
UndertowEndpoint defaulted its headerFilterStrategy field to the base HttpHeaderFilterStrategy and pushed that instance into the UndertowHttpBinding it creates lazily, overwriting the UndertowHeaderFilterStrategy that DefaultUndertowHttpBinding installs in its own constructor. Unless a deployment supplied a custom binding or an explicit headerFilterStrategy, the undertow-specific filtering therefore never executed on endpoint-configured routes: the strategy object was constructed and immediately replaced before it could be consulted. The consequence is that the legacy websocket. Exchange-header prefix was not filtered at the undertow transport boundary in either direction, so an undertow HTTP consumer mapped inbound wire headers of that form onto the Exchange, where an undertow WebSocket producer reads them as dispatch directives and can be made to deliver to a peer other than the one the route selected; and header names that undertow itself does not accept were mapped onto the Exchange rather than being skipped. Rest DSL consumers were never affected, because UndertowComponent assigns UndertowRestHeaderFilterStrategy explicitly, which extends the undertow strategy. This is not a regression of CVE-2025-30177: the base HttpHeaderFilterStrategy configures the inbound Camel-prefix filter itself, so the protection introduced by that advisory continued to work through the base class and was never lost. What the change did was leave the undertow strategy orphaned on the endpoint path, with the effect that two subsequent corrections written into it - one skipping header names undertow rejects, one filtering the legacy websocket. prefix in both directions - were applied to a class the endpoint no longer used and never took effect in the releases that shipped them.
Users are recommended to upgrade to version 4.22.0, which fixes the issue. If users are on the 4.14.x LTS releases stream, then they are suggested to upgrade to 4.14.9. If users are on the 4.18.x releases stream, then they are suggested to upgrade to 4.18.4. For deployments that cannot upgrade immediately, configure the strategy explicitly rather than relying on the default, for example by binding an UndertowHeaderFilterStrategy in the registry and referencing it on the endpoint as undertow:http://0.0.0.0:8080/foo?headerFilterStrategy=#myStrategy, and additionally strip the dispatch headers at the trust boundary with removeHeaders(“websocket.*”). Note a residual limitation that upgrading does not remove: the undertow component deliberately keeps the websocket. values as part of its externally visible API contract, and UndertowProducer reads them with in.getHeader, which does not consult a HeaderFilterStrategy at all. The restored filtering is therefore defence in depth at the undertow transport boundary only. A route that carries an untrusted message from a non-undertow consumer into an undertow producer is not protected by this fix and must strip those headers itself.
Security readout for executives and security teams
Plain-English summary
A flaw in Apache Camel’s Undertow component can let untrusted HTTP headers reach internal message handling when endpoint-configured routes use the default binding. Those headers may influence which WebSocket peer receives a message, potentially exposing or misdirecting data. Rest DSL consumers are not affected.
Executive priority
Treat exposed affected deployments as an urgent remediation item because the vendor assigns a critical 9.8 score and describes unauthenticated network reachability. Prioritize Internet-facing or otherwise untrusted Undertow endpoint routes. Confirm configuration-based exposure before assuming every Camel deployment is vulnerable.
Technical view
In affected releases, UndertowEndpoint replaces UndertowHeaderFilterStrategy with the base HTTP strategy. Consequently, Undertow-specific filtering of legacy websocket.* headers and rejected header names does not run. An Undertow HTTP consumer may map these headers onto an Exchange, where an Undertow WebSocket producer treats them as dispatch directives. The CVSS 3.1 score is 9.8.
Likely exposure
Exposure applies to camel-undertow 4.11.0 before 4.14.9, 4.15.0 before 4.18.4, and 4.19.0 before 4.22.0. Risk is concentrated in endpoint-configured routes using the default binding and accepting untrusted headers. Custom bindings or explicit filter strategies may change exposure. Rest DSL consumers are unaffected.
Exploitation context
The supplied sources do not report active exploitation, and the supplied record is not marked as KEV. The CVSS vector describes network-based, low-complexity, unauthenticated exploitation without user interaction, but real exposure depends on route and binding configuration.
Researcher notes
This is distinct from CVE-2025-30177; its Camel-prefix protection remained active through the base strategy. The fix restores transport-boundary defense in depth, but UndertowProducer still reads websocket.* Exchange headers directly. Therefore, routes carrying untrusted messages from non-Undertow consumers into Undertow producers must remove those headers even after upgrading.
Mitigation direction
Upgrade to 4.22.0, or fixed stream releases 4.14.9 or 4.18.4, as applicable.
If upgrading is delayed, explicitly configure UndertowHeaderFilterStrategy on affected endpoints instead of relying on the default.
Strip websocket.* headers at trust boundaries, especially before messages reach an Undertow WebSocket producer.
Review the Apache Camel advisory for configuration details and subsequent vendor updates.
Validation and detection
Inventory deployments and identify installed org.apache.camel:camel-undertow versions.
Identify endpoint-configured Undertow HTTP consumers; assess Rest DSL consumers separately because the advisory says they are unaffected.
Verify affected endpoints use a fixed release or an explicit UndertowHeaderFilterStrategy.
Review untrusted message flows into Undertow producers and confirm websocket.* headers are removed before dispatch.
Perform authorized defensive testing to confirm transport headers cannot alter the route-selected WebSocket peer.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · low confidence lookup
CWE-20: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
1CVSS vectors
3Timeline events
1ADP providers
2Source links
SSVC decision data
CISA-ADPCISA Coordinator
Timestamp
Version
2.0.3
Exploitation: noneAutomatable: yesTechnical Impact: total
CVSS vector scores
1 official score
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-20 · source CWE mapping
Improper Input Validation
Improper Input Validation represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.