CVE-2026-40859
Apache Camel: Camel-Vertx-Http: Deserialización insegura de Java de los cuerpos de respuesta HTTP mediante un ObjectInputStream sin procesar cuando transferException está habilitado
- Publicado
- 6 jul 2026
- Actualizado
- 6 jul 2026
- Asignación de CNA
- apache
- Evidencia observada
- 6 ago 2026
CVSS primario
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:HBajo · próximos 30 días
- Percentil
- 57,2 %
- Fecha del modelo
- 21 sept 2026
EPSS es una estimación estadística, no una certeza o una medida de impacto. Combínelo con CVSS, estado KEV, exposición y su entorno.
Resumen
Vulnerabilidad de deserialización de datos no confiables en Apache Camel. El componente camel-vertx-http deserializa los cuerpos de respuesta HTTP que llevan el Content-Type application/x-java-serialized-object utilizando un java.io.ObjectInputStream sin procesar, sin aplicar ningún ObjectInputFilter (VertxHttpHelper.deserializeJavaObjectFromStream). Esta ruta de deserialización solo se alcanza cuando el endpoint productor está configurado con transferException=true (o el allowJavaSerializedObject=true a nivel de componente) y throwExceptionOnFailure se deja en su valor predeterminado de true; en ese caso, una respuesta HTTP de backend con un estado 5xx y el tipo de contenido application/x-java-serialized-object tiene su cuerpo deserializado sin restricciones de clase. Un atacante que controle el backend con el que habla el productor de Camel — mediante una posición de hombre en el medio en una conexión no cifrada (HTTP plano), o comprometiendo el servicio backend — puede devolver un objeto Java serializado manipulado y, si hay una cadena de gadgets adecuada presente en el classpath, lograr la ejecución remota de código en el host de la aplicación Camel. La ruta no es alcanzable en la configuración predeterminada, donde transferException es false. Este 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.20.0. Se recomienda a los usuarios actualizar a la versión 4.20.0, que corrige el problema. Si los usuarios están en la rama de versiones LTS 4.14.x, se les sugiere actualizar a 4.14.8. Si los usuarios están en la rama de versiones 4.18.x, se les sugiere actualizar a 4.18.3. Después de la actualización, la deserialización realizada por ambas utilidades auxiliares está restringida por un ObjectInputFilter predeterminado (allow-list java.**;javax.**;org.apache.camel.**;!*), que puede personalizarse mediante la nueva opción de endpoint deserializationFilter o la propiedad del sistema JVM -Djdk.serialFilter. Para implementaciones que no pueden actualizar de inmediato: no habilite transferException=true (o allowJavaSerializedObject=true) en productores que hablen con backends no confiables o accesibles por red; asegúrese de que las conexiones del productor usen TLS (https) para que una respuesta no pueda ser sustituida por un hombre en el medio; y, cuando la opción sea necesaria, establezca una allow-list -Djdk.serialFilter explícita (por ejemplo java.**;org.apache.camel.**;!*) para restringir la deserialización.
Fuentes
Uso responsable
Utilice información sobre vulnerabilidades solo en sistemas de su propiedad o que esté autorizado a probar. Kitploit enlaza con metadatos de investigación pública y no almacena código de explotación ni cargas útiles maliciosas.