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
Description
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.
INFO
Published Date :
Aug. 24, 2026, 5:18 p.m.
Last Modified :
Oct. 12, 2026, 3:10 p.m.
Remotely Exploit :
Yes !
Source :
[email protected]
CVSS Scores
| Score | Version | Severity | Vector | Exploitability Score | Impact Score | Source |
|---|---|---|---|---|---|---|
| CVSS | 134c704f-9b21-4f2e-91b3-4a467353bcc0 | |||||
| CVSS 3.1 | CRITICAL | 134c704f-9b21-4f2e-91b3-4a467353bcc0 |
Solution
- Upgrade Apache Camel to version 4.22.0 or later.
- Upgrade to 4.14.9 for 4.14.x stream.
- Upgrade to 4.18.4 for 4.18.x stream.
- Configure headerFilterStrategy explicitly if upgrade is not possible.
References to Advisories, Solutions, and Tools
Here, you will find a curated list of external links that provide in-depth
information, practical solutions, and valuable tools related to
CVE-2026-78329.
| URL | Resource |
|---|---|
| https://camel.apache.org/security/CVE-2026-78329.html | Mailing List Vendor Advisory |
CWE - Common Weakness Enumeration
While CVE identifies
specific instances of vulnerabilities, CWE categorizes the common flaws or
weaknesses that can lead to vulnerabilities. CVE-2026-78329 is
associated with the following CWEs:
Common Attack Pattern Enumeration and Classification (CAPEC)
Common Attack Pattern Enumeration and Classification
(CAPEC)
stores attack patterns, which are descriptions of the common attributes and
approaches employed by adversaries to exploit the CVE-2026-78329
weaknesses.
We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).
Results are limited to the first 15 repositories due to potential performance issues.
The following list is the news that have been mention
CVE-2026-78329 vulnerability anywhere in the article.
The following table lists the changes that have been made to the
CVE-2026-78329 vulnerability over time.
Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.
-
CVE Translated by [email protected]
Oct. 12, 2026
Action Type Old Value New Value Added Translation Title: Apache Camel de Apache Software Foundation, Description: Vulnerabilidad de validación de entrada incorrecta en el componente Undertow de Apache Camel. Este problema afecta a Apache Camel: desde 4.11.0 antes de 4.14.9, desde 4.15.0 antes de 4.18.4, desde 4.19.0 antes de 4.22.0. UndertowEndpoint estableció por defecto su campo headerFilterStrategy a la HttpHeaderFilterStrategy base y empujó esa instancia en el UndertowHttpBinding que crea de forma perezosa, sobrescribiendo la UndertowHeaderFilterStrategy que DefaultUndertowHttpBinding instala en su propio constructor. A menos que una implementación suministrara un binding personalizado o una headerFilterStrategy explícita, el filtrado específico de undertow, por lo tanto, nunca se ejecutó en rutas configuradas por el endpoint: el objeto de estrategia fue construido e inmediatamente reemplazado antes de que pudiera ser consultado. La consecuencia es que el prefijo de cabecera de intercambio websocket. heredado no fue filtrado en el límite de transporte de undertow en ninguna dirección, por lo que un consumidor HTTP de undertow mapeó las cabeceras de cable entrantes de esa forma en el Exchange, donde un productor WebSocket de undertow las lee como directivas de despacho y puede ser hecho para entregarlas a un par diferente al seleccionado por la ruta; y los nombres de cabecera que undertow mismo no acepta fueron mapeados en el Exchange en lugar de ser omitidos. Los consumidores de Rest DSL nunca se vieron afectados, porque UndertowComponent asigna UndertowRestHeaderFilterStrategy explícitamente, que extiende la estrategia de undertow. Esto no es una regresión de CVE-2025-30177: la HttpHeaderFilterStrategy base configura el filtro de prefijo Camel entrante en sí misma, por lo que la protección introducida por ese aviso continuó funcionando a través de la clase base y nunca se perdió. Lo que hizo el cambio fue dejar la estrategia de undertow huérfana en la ruta del endpoint, con el efecto de que dos correcciones posteriores escritas en ella - una omitiendo nombres de cabecera que undertow rechaza, una filtrando el prefijo websocket. heredado en ambas direcciones - fueron aplicadas a una clase que el endpoint ya no usaba y nunca tuvieron efecto en las versiones que las incluyeron. Se recomienda a los usuarios actualizar a la versión 4.22.0, que corrige el problema. Si los usuarios están en la rama de versiones LTS 4.14.x, entonces se les sugiere actualizar a 4.14.9. Si los usuarios están en la rama de versiones 4.18.x, entonces se les sugiere actualizar a 4.18.4. Para implementaciones que no pueden actualizarse inmediatamente, configure la estrategia explícitamente en lugar de depender de la predeterminada, por ejemplo, vinculando una UndertowHeaderFilterStrategy en el registro y referenciándola en el endpoint como undertow:http://0.0.0.0:8080/foo?headerFilterStrategy=#myStrategy, y adicionalmente elimine las cabeceras de despacho en el límite de confianza con removeHeaders('websocket.*'). Tenga en cuenta una limitación residual que la actualización no elimina: el componente undertow mantiene deliberadamente los valores websocket. como parte de su contrato de API visible externamente, y UndertowProducer los lee con in.getHeader, que no consulta ninguna HeaderFilterStrategy en absoluto. El filtrado restaurado es, por lo tanto, una defensa en profundidad solo en el límite de transporte de undertow. Una ruta que transporta un mensaje no confiable desde un consumidor que no es de undertow a un productor de undertow no está protegida por esta corrección y debe eliminar esas cabeceras por sí misma. -
Initial Analysis by [email protected]
Aug. 27, 2026
Action Type Old Value New Value Added CPE Configuration OR *cpe:2.3:a:apache:camel:*:*:*:*:*:*:*:* versions from (including) 4.15.0 up to (excluding) 4.18.4 *cpe:2.3:a:apache:camel:*:*:*:*:*:*:*:* versions from (including) 4.19.0 up to (excluding) 4.22.0 *cpe:2.3:a:apache:camel:*:*:*:*:*:*:*:* versions from (including) 4.11.0 up to (excluding) 4.14.9 Added Reference Type Apache Software Foundation: https://camel.apache.org/security/CVE-2026-78329.html Types: Mailing List, Vendor Advisory -
CVE Modified by [email protected]
Aug. 26, 2026
Action Type Old Value New Value Added Reference https://camel.apache.org/security/CVE-2026-78329.html Removed Reference https://camel.apache.org/security/CVE-2026-78329.html -
CVE Modified by 134c704f-9b21-4f2e-91b3-4a467353bcc0
Aug. 26, 2026
Action Type Old Value New Value Added CVSS V3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H Added SSVC {'id': 'CVE-2026-78329', 'role': 'CISA Coordinator', 'options': [{'exploitation': 'none'}, {'automatable': 'yes'}, {'technicalImpact': 'total'}], 'version': '2.0.3', 'timestamp': '2026-08-26T18:47:09.326728Z'} -
New CVE Received by [email protected]
Aug. 24, 2026
Action Type Old Value New Value Added Affected [{'vendor': 'Apache Software Foundation', 'product': 'Apache Camel', 'versions': [{'status': 'affected', 'version': '4.11.0', 'lessThan': '4.14.9', 'versionType': 'semver'}, {'status': 'affected', 'version': '4.15.0', 'lessThan': '4.18.4', 'versionType': 'semver'}, {'status': 'affected', 'version': '4.19.0', 'lessThan': '4.22.0', 'versionType': 'semver'}], 'packageURL': 'pkg:maven/org.apache.camel/camel-undertow', 'packageName': 'org.apache.camel:camel-undertow', 'collectionURL': 'https://repo.maven.apache.org/maven2', 'defaultStatus': 'unaffected'}] Added Description 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. Added CWE CWE-20 Added Reference https://camel.apache.org/security/CVE-2026-78329.html