CVE-2026-59230

Improper input validation vulnerability in Apache Camel. This issue affects Apache Camel: from 2.17.0 before 4.14.9, from 4.15.0 before 4.18.4, from 4.19.0 before 4.22.0. The camel-mail component ships a MimeMultipart data format that can unmarshal a MIME multipart message. When it is configured with headersInline set to true, the unmarshal path copies the MIME headers of the incoming message onto the Camel message: it enumerates every header that is not one of the three standard ones it generates itself - Message-ID, MIME-Version and Content-Type - and calls setHeader for each, applying no HeaderFilterStrategy. The names of those MIME headers come from the message being unmarshalled, so a sender able to influence the message could place a header whose name falls in the Camel-internal namespace and have it set on the Exchange. Camel components read control headers from that namespace to override their configured behaviour - the camel-sql producer, for instance, takes the statement to execute from a Camel header when one is present - so an injected header could redirect what a downstream step in the route does with data the route author never intended it to take from the message. Which sinks are reachable, and what the consequences are, depends entirely on what the route does after the unmarshal step. The camel-mail consumer already applied a header filter strategy on its own inbound path, so this was the parallel inbound path into the same component that the earlier hardening did not cover. The affected copy is reached only when headersInline is enabled, which is not the default: with the default setting the MIME headers are surfaced as attachments rather than as message headers, and are not affected. The behaviour dates back to the introduction of the data format in 2.17.0 and was present on every release line until this fix. 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, leave headersInline at its default of false where the inline headers are not needed, since the copy is only reached when it is enabled. Where it must stay enabled, strip Camel-internal headers immediately after the unmarshal step, for example with removeHeaders(“Camel*”) placed before any processor or producer that reads control headers, and do not unmarshal MIME content from an untrusted sender into a route that dispatches on header values. As defence in depth, treat the header names of any MIME message arriving from outside the trust boundary as untrusted input.
References
Link Resource
https://camel.apache.org/security/CVE-2026-59230.html Mailing List Vendor Advisory
http://www.openwall.com/lists/oss-security/2026/08/24/7 Mailing List Third Party Advisory
Configurations

Configuration 1 (hide)

OR cpe:2.3:a:apache:camel:*:*:*:*:*:*:*:*
cpe:2.3:a:apache:camel:*:*:*:*:*:*:*:*
cpe:2.3:a:apache:camel:*:*:*:*:*:*:*:*

History

12 Oct 2026, 15:10

Type Values Removed Values Added
Summary
  • (es) Vulnerabilidad de validación de entrada incorrecta en Apache Camel. Este problema afecta a Apache Camel: desde 2.17.0 antes de 4.14.9, desde 4.15.0 antes de 4.18.4, desde 4.19.0 antes de 4.22.0. El componente camel-mail incluye un formato de datos MimeMultipart que puede deserializar un mensaje MIME multipart. Cuando se configura con headersInline establecido en true, la ruta de deserialización copia los encabezados MIME del mensaje entrante al mensaje Camel: enumera cada encabezado que no es uno de los tres estándar que genera por sí mismo - Message-ID, MIME-Version y Content-Type - y llama a setHeader para cada uno, sin aplicar ninguna HeaderFilterStrategy. Los nombres de esos encabezados MIME provienen del mensaje que se está deserializando, por lo que un remitente capaz de influir en el mensaje podría colocar un encabezado cuando nombre caiga en el espacio de nombres interno de Camel y hacer que se establezca en el Exchange. Los componentes Camel leen encabezados de control de ese espacio de nombres para anular su comportamiento configurado - el productor camel-sql, por ejemplo, toma la declaración a ejecutar de un encabezado Camel cuando está presente - por lo que un encabezado inyectado podría redirigir lo que hace un paso posterior en la ruta con datos que el autor de la ruta nunca tuvo la intención de que tomara del mensaje. Qué sumideros son alcanzables, y cuáles son las consecuencias, depende enteramente de lo que haga la ruta después del paso de deserialización. El consumidor camel-mail ya aplicaba una estrategia de filtro de encabezados en su propia ruta de entrada, por lo que esta era la ruta de entrada paralela al mismo componente que el endurecimiento anterior no cubrió. La copia afectada solo se alcanza cuando headersInline está habilitado, lo cual no es el valor predeterminado: con la configuración predeterminada, los encabezados MIME se muestran como adjuntos en lugar de como encabezados de mensaje, y no se ven afectados. El comportamiento se remonta a la introducción del formato de datos en 2.17.0 y estuvo presente en cada línea de lanzamiento hasta esta corrección. 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 lanzamientos LTS 4.14.x, se sugiere que actualicen a 4.14.9. Si los usuarios están en la rama de lanzamientos 4.18.x, se sugiere que actualicen a 4.18.4. Para implementaciones que no pueden actualizar inmediatamente, deje headersInline en su valor predeterminado de false donde los encabezados en línea no son necesarios, ya que la copia solo se alcanza cuando está habilitado. Donde deba permanecer habilitado, elimine los encabezados internos de Camel inmediatamente después del paso de deserialización, por ejemplo, con removeHeaders('Camel') colocado antes de cualquier procesador o productor que lea encabezados de control, y no deserialice contenido MIME de un remitente no confiable en una ruta que despache según los valores de los encabezados. Como defensa en profundidad, trate los nombres de los encabezados de cualquier mensaje MIME que llegue desde fuera del límite de confianza como entrada no confiable.

Information

Published : 2026-08-24 17:17

Updated : 2026-10-12 15:10


NVD link : CVE-2026-59230

Mitre link : CVE-2026-59230

CVE.ORG link : CVE-2026-59230


JSON object : View

Products Affected

apache

  • camel
CWE
CWE-20

Improper Input Validation