CVE-2026-46454 json
Apache Camel: Camel-Cometd: Inbound Bayeux message headers are mapped into the Exchange without a HeaderFilterStrategy, allowing unauthenticated clients to inject Camel control headers
published 2026-07-06 4 mo ago modified 2026-10-25 15 d ago also GHSA-r9cc-j7wr-p329 , EUVD-2026-41828
- cvss
- 9.8
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.8%
- EPSS 0.8% chance of exploitation in 30 days, percentile 57%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- maven org.apache.camel:camel-cometd 4.14.8, 4.18.3, 4.21.0
- Apache Software Foundation Apache Camel 4.14.8, 4.18.3, 4.21.0
- github.com/apache/camel@6fad391 commit
- github.com/apache/camel@e20bdc2 commit
- github.com/apache/camel@e9c741b commit
- github.com/apache/camel#23211 pull request
- github.com/apache/camel/releases/tag/camel-4.14.8 release
- github.com/apache/camel/releases/tag/camel-4.18.3 release
- github.com/apache/camel/releases/tag/camel-4.21.0 release
CISA SSVC
- Exploitation
- none
- Automatable
- yes
- Technical impact
- total
- Assessed
- 4 mo ago
Exploit prediction
0.83% chance of exploitation in the next 30 days, higher than 57% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CISA ADP | 3.1 | 9.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| CNA | 3.1 | 9.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| GitHub | 3.1 | 9.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| maven | org.apache.camel:camel-cometd | >=4.0.0, <4.14.8 >=4.15.0, <4.18.3 >=4.19.0, <4.21.0 |
4.14.8 4.18.3 4.21.0 |
Affected products
- Apache Software Foundation Apache Camel
Classification
- Weakness
-
- CWE-20 Improper Input Validation
References
-
github.com
/apache/camel/pull/23211
web
-
github.com
/apache/camel/commit/6fad391f9f5257b93ce07d9b8e5e7f486210d4f5
web
-
github.com
/apache/camel/commit/e20bdc2a6a3fd1128bcebe1b64c8e8589f0bc57d
web
-
github.com
/apache/camel/commit/e9c741b4908dcffc0e1a7b1a5e6207a46aaac608
web
-
camel.apache.org
/security/CVE-2026-46454.html
vendor-advisory, web, mitigation
-
openwall.com
/lists/oss-security/2026/07/05/7
web, mailing-list, third-party-advisory
-
nvd.nist.gov
/vuln/detail/CVE-2026-46454
advisory
-
github.com
/apache/camel
package
-
github.com
/apache/camel/releases/tag/camel-4.14.8
web
-
github.com
/apache/camel/releases/tag/camel-4.18.3
web
-
github.com
/apache/camel/releases/tag/camel-4.21.0
web
-
issues.apache.org
/jira/browse/CAMEL-23507
web
Sources
- CVE List CVE-2026-46454
- GitHub Advisory GHSA-r9cc-j7wr-p329
- NVD CVE-2026-46454
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.