CVE-2026-46454: Apache Camel: Camel-Cometd: Inbound Bayeux message headers are mapped into the Exchange without a HeaderFilterStrategy, allowing unauthenticated clients to inject Camel control headers
Improper Input Validation vulnerability in Apache Camel Cometd Component.
The camel-cometd component maps inbound Bayeux (CometD) message headers into the Camel Exchange without applying a HeaderFilterStrategy. CometdBinding.populateExchangeFromMessage copies the entire ext.CamelHeaders map supplied by the CometD client directly onto the Camel message (message.setHeaders), so any header name - including Camel-internal control headers such as CamelHttpUri, CamelFileName or CamelJmsDestinationName - is accepted unmodified. Because a CometdComponent installs no Bayeux SecurityPolicy by default, any client that can complete the Bayeux handshake against the CometD endpoint can publish such a message without authentication. An attacker can therefore inject arbitrary Camel control headers that influence the behaviour of downstream producers in the route (for example redirecting an HTTP producer, changing a file name, or overriding a JMS destination); the injected headers also persist across internal direct, seda and vm hops. The concrete downstream impact depends on which producers the route uses. This issue affects Apache Camel: from 4.0.0 before 4.14.8, from 4.15.0 before 4.18.3, from 4.19.0 before 4.21.0.
Users are recommended to upgrade to version 4.21.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.8. If users are on the 4.18.x releases stream, then they are suggested to upgrade to 4.18.3. The fix implements a HeaderFilterStrategy in the camel-cometd binding (a long-standing TODO in the code) that filters the Camel header namespace case-insensitively on inbound mapping, so client-supplied Camel / camel headers are no longer copied into the Exchange. For deployments that cannot upgrade immediately, strip the Camel control headers from inbound CometD messages before they reach any downstream producer (for example removeHeaders('Camel') and removeHeaders('camel') at the start of the route), and install an explicit Bayeux SecurityPolicy on the CometdComponent so that only authenticated clients can publish.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
Apache Camelto a version that resolves this vulnerability.Fixed in 4.14.8 - Upgrade
Upgrade
Apache Camelto a version that resolves this vulnerability.Fixed in 4.18.3 - Upgrade
Upgrade
Apache Camelto a version that resolves this vulnerability.Fixed in 4.21.0 - Configuration
In the camel-cometd binding, install/enable an explicit HeaderFilterStrategy that filters the Camel header namespace case-insensitively on inbound mapping (so client-supplied Camel*/camel* headers are not copied into the Exchange).
Apache Camel (camel-cometd) HeaderFilterStrategy = Filter camel control header namespace (case-insensitive) so Camel*/camel* client-supplied headers are not copied into the Exchange - Configuration
If you cannot upgrade immediately, strip Camel control headers at the start of the route before any downstream producer by removing both Camel* and camel* headers (e.g., removeHeaders('Camel*') and removeHeaders('camel*')).
Apache Camel route (inbound CometD handling) Remove headers from inbound CometD messages = removeHeaders('Camel*') and removeHeaders('camel*') - Configuration
Install an explicit Bayeux SecurityPolicy on the CometdComponent (since no Bayeux SecurityPolicy is installed by default) so only authenticated clients can publish to the CometD endpoint.
camel-cometd CometdComponent Bayeux SecurityPolicy = Install an explicit Bayeux SecurityPolicy so only authenticated clients can publish
Event History
Frequently Asked Questions
What is the severity of CVE-2026-46454?
CVE-2026-46454 has a risk severity score of 62, indicating a moderate level of risk.
What type of vulnerability is CVE-2026-46454?
CVE-2026-46454 is classified as an Improper Input Validation vulnerability.
How does CVE-2026-46454 affect Apache Camel users?
CVE-2026-46454 allows unauthenticated clients to inject Camel control headers into the exchange, potentially leading to unauthorized control over the application.
How do I mitigate CVE-2026-46454?
To mitigate CVE-2026-46454, apply a HeaderFilterStrategy to validate and control inbound Bayeux message headers before they are added to the Camel Exchange.
Is there a patch available for CVE-2026-46454?
Yes, it is recommended to check for updated versions or patches provided by the Apache Software Foundation to resolve CVE-2026-46454.