Description
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.
Published: 2026-07-06
Score: 9.8 Critical
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Improper input validation in Apache Camel’s camel-cometd component allows inbound CometD (Bayeux) messages to carry arbitrary headers. The component copies the entire ext.CamelHeaders map from the client into the Camel Exchange without filtering, which is a CWE-20 Improper Input Validation vulnerability. Because Camel control headers (such as CamelHttpUri, CamelFileName, or CamelJmsDestinationName) are accepted unchanged, an attacker can inject these headers to alter the behavior of downstream routes—redirecting HTTP calls, renaming files, or overriding JMS destinations—without authentication. This manipulation can lead to unauthorized data exfiltration or other unintended actions within the system, depending on the route configuration.

Affected Systems

The vulnerability impacts Apache Software Foundation’s Apache Camel product, specifically the camel-cometd component. All versions from 4.0.0 up to but excluding 4.14.8, from 4.15.0 up to but excluding 4.18.3, and from 4.19.0 up to but excluding 4.21.0 are affected. Supported fix releases are 4.14.8 (for the 4.14.x LTS stream), 4.18.3 (for the 4.18.x release stream), and 4.21.0 (for newer streams).

Risk and Exploitability

The CVSS score of 9.8 indicates a critical severity. The EPSS score is reported as less than 1%, indicating a low probability of exploitation at the time of assessment, and the vulnerability is not listed in the CISA KEV catalog. Nevertheless, exploitation is feasible for any deployment that exposes a CometD endpoint without a Bayeux SecurityPolicy. An attacker who can complete the Bayeux handshake—typically by sending a handshake message to the endpoint—can publish messages with crafted headers. The lack of a HeaderFilterStrategy means the headers are copied verbatim into the Exchange, enabling the attacker to influence downstream components. While the likelihood of spontaneous exploitation is small, the potential impact is significant for routes that rely on these downstream producers, warranting prompt remedial action.

Generated by OpenCVE AI on July 7, 2026 at 17:51 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the Camel-cometd component to version 4.21.0, or to 4.18.3 or 4.14.8 if your deployment follows the 4.18.x or 4.14.x LTS streams, respectively. This release applies a HeaderFilterStrategy that rejects all Camel* and camel* headers on inbound mapping.
  • If an immediate upgrade is not feasible, insert a route step at the beginning to remove any Camel-related headers, for example using removeHeaders('Camel*') and removeHeaders('camel*').
  • Finally, configure an explicit Bayeux SecurityPolicy on the CometdComponent to require authenticated clients before allowing message publishing.

Generated by OpenCVE AI on July 7, 2026 at 17:51 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 06 Jul 2026 19:30:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 9.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'}

ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Mon, 06 Jul 2026 10:45:00 +0000

Type Values Removed Values Added
First Time appeared Apache
Apache camel
Vendors & Products Apache
Apache camel

Mon, 06 Jul 2026 09:00:00 +0000

Type Values Removed Values Added
Description 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.
Title Apache Camel: Camel-Cometd: Inbound Bayeux message headers are mapped into the Exchange without a HeaderFilterStrategy, allowing unauthenticated clients to inject Camel control headers
Weaknesses CWE-20
References

cve-icon MITRE

Status: PUBLISHED

Assigner: apache

Published:

Updated: 2026-07-06T17:41:19.974Z

Reserved: 2026-05-14T08:45:22.737Z

Link: CVE-2026-46454

cve-icon Vulnrichment

Updated: 2026-07-06T09:25:11.555Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-07-07T18:00:06Z

Weaknesses
  • CWE-20

    Improper Input Validation