CVE-2026-46454
Full vulnerability record from the local CVENow database.
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.
View original CVE JSON
{
"id": "CVE-2026-46454",
"sourceIdentifier": "[email protected]",
"published": "2026-07-06T09:16:36.457",
"lastModified": "2026-10-25T15:10:00.147",
"vulnStatus": "Analyzed",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "Improper Input Validation vulnerability in Apache Camel Cometd Component.\n\nThe 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.\nThis 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.\n\nUsers 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."
},
{
"lang": "es",
"value": "Vulnerabilidad de validación de entrada incorrecta en el componente Apache Camel Cometd.\n\nEl componente camel-cometd mapea los encabezados de mensajes Bayeux (CometD) entrantes en el Intercambio Camel sin aplicar una HeaderFilterStrategy. CometdBinding.populateExchangeFromMessage copia todo el mapa ext.CamelHeaders suministrado por el cliente CometD directamente en el mensaje Camel (message.setHeaders), por lo que cualquier nombre de encabezado - incluidos los encabezados de control internos de Camel como CamelHttpUri, CamelFileName o CamelJmsDestinationName - es aceptado sin modificar. Debido a que un CometdComponent no instala ninguna Bayeux SecurityPolicy por defecto, cualquier cliente que pueda completar el handshake Bayeux contra el endpoint CometD puede publicar dicho mensaje sin autenticación. Un atacante puede, por lo tanto, inyectar encabezados de control Camel arbitrarios que influyen en el comportamiento de los productores posteriores en la ruta (por ejemplo, redirigiendo un productor HTTP, cambiando un nombre de archivo o sobrescribiendo un destino JMS); los encabezados inyectados también persisten a través de saltos internos direct, seda y vm. El impacto posterior concreto depende de qué productores utilice la ruta.\nEste problema afecta a Apache Camel: desde 4.0.0 antes de 4.14.8, desde 4.15.0 antes de 4.18.3, desde 4.19.0 antes de 4.21.0.\n\nSe recomienda a los usuarios actualizar a la versión 4.21.0, que corrige el problema. Si los usuarios están en la rama de versiones LTS 4.14.x, se sugiere que actualicen a 4.14.8. Si los usuarios están en la rama de versiones 4.18.x, se sugiere que actualicen a 4.18.3. La solución implementa una HeaderFilterStrategy en el binding camel-cometd (un TODO de larga data en el código) que filtra el espacio de nombres de encabezados Camel sin distinguir entre mayúsculas y minúsculas en el mapeo de entrada, por lo que los encabezados Camel / camel suministrados por el cliente ya no se copian en el Intercambio. Para implementaciones que no pueden actualizarse inmediatamente, elimine los encabezados de control Camel de los mensajes CometD entrantes antes de que lleguen a cualquier productor posterior (por ejemplo, removeHeaders(’Camel’) y removeHeaders(’camel’) al inicio de la ruta), e instale una Bayeux SecurityPolicy explícita en el CometdComponent para que solo los clientes autenticados puedan publicar."
}
],
"affected": [
{
"source": "[email protected]",
"affectedData": [
{
"vendor": "Apache Software Foundation",
"product": "Apache Camel",
"defaultStatus": "unaffected",
"collectionURL": "https://repo.maven.apache.org/maven2",
"packageName": "org.apache.camel:camel-cometd",
"versions": [
{
"version": "4.0.0",
"lessThan": "4.14.8",
"versionType": "semver",
"status": "affected"
},
{
"version": "4.15.0",
"lessThan": "4.18.3",
"versionType": "semver",
"status": "affected"
},
{
"version": "4.19.0",
"lessThan": "4.21.0",
"versionType": "semver",
"status": "affected"
}
]
}
]
}
],
"metrics": {
"cvssMetricV31": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"type": "Secondary",
"cvssData": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
"baseScore": 9.8,
"baseSeverity": "CRITICAL",
"attackVector": "NETWORK",
"attackComplexity": "LOW",
"privilegesRequired": "NONE",
"userInteraction": "NONE",
"scope": "UNCHANGED",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"availabilityImpact": "HIGH"
},
"exploitabilityScore": 3.9,
"impactScore": 5.9
}
],
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"timestamp": "2026-07-06T17:41:16.224857Z",
"id": "CVE-2026-46454",
"options": [
{
"exploitation": "none"
},
{
"automatable": "yes"
},
{
"technicalImpact": "total"
}
],
"role": "CISA Coordinator",
"version": "2.0.3"
}
}
]
},
"weaknesses": [
{
"source": "[email protected]",
"type": "Secondary",
"description": [
{
"lang": "en",
"value": "CWE-20"
}
]
}
],
"configurations": [
{
"nodes": [
{
"operator": "OR",
"negate": false,
"cpeMatch": [
{
"vulnerable": true,
"criteria": "cpe:2.3:a:apache:camel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "4.0.0",
"versionEndExcluding": "4.14.8",
"matchCriteriaId": "7662EB25-EAB6-493F-924C-5CA8A6F462B4"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:a:apache:camel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "4.15.0",
"versionEndExcluding": "4.18.3",
"matchCriteriaId": "0AEE4159-4465-4ACD-B94A-1E4682C85270"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:a:apache:camel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "4.19.0",
"versionEndExcluding": "4.21.0",
"matchCriteriaId": "1C2A1A7A-FADC-470F-8265-FA126AFD94ED"
}
]
}
]
}
],
"references": [
{
"url": "https://camel.apache.org/security/CVE-2026-46454.html",
"source": "[email protected]",
"tags": [
"Mitigation",
"Vendor Advisory"
]
},
{
"url": "http://www.openwall.com/lists/oss-security/2026/07/05/7",
"source": "af854a3a-2127-422b-91ae-364da2661108",
"tags": [
"Mailing List",
"Third Party Advisory"
]
}
]
}