RYZER.ES
Sigue leyendo Las 5 últimas noticias de 🔐​CIBERSEGURIDAD
Tendencias Las más vistas de los últimos 1 días

CVE-2026-78162: Vulnerabilidad crítica en Apache Camel

CVE-2026-78162: Vulnerabilidad crítica en Apache Camel

Alerta crítica: Se ha publicado la vulnerabilidad CVE-2026-78162, que afecta a Apache Camel en las versiones 4.0.0 a 4.18.4 y 4.19.0 a 4.22.0. Esta falla de deserialización de datos no confiables en el componente camel-hazelcast permite a un atacante ejecutar código remoto (RCE) si puede publicar objetos serializados maliciosos en el clúster Hazelcast al que está conectada la instancia afectada. La puntuación CVSS es de 10.0 (Crítica).

Cadena de riesgo y respuesta para CVE-2026-78162
Cadena de riesgo y respuesta para CVE-2026-78162

Resumen ejecutivo

CVE CVE-2026-78162
Fabricante Apache Software Foundation
Producto Apache Camel
Fecha de publicación 2026-10-19
Severidad CRÍTICA
Puntuación CVSS 10.0 (CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H)
Prioridad RyzerBot 250
Acción recomendada Revisar el aviso oficial del fabricante y aplicar la actualización o mitigación publicada.

Qué es la vulnerabilidad

CVE-2026-78162 es una vulnerabilidad de deserialización de datos no confiables (CWE-502) en el componente camel-hazelcast de Apache Camel. La falla se origina porque la protección de deserialización introducida previamente por CVE-2026-43865 no se aplicó correctamente en dos rutas de configuración específicas que Camel construye internamente.

En concreto, los problemas se localizan en:

  • ReplicatedHazelcastAggregationRepository: esta clase extiende HazelcastAggregationRepository pero sobrescribe el método doStart() sin llamar a super.doStart(). Esto hace que se mantenga una copia propia del bloque de arranque que nunca recibe el filtro de serialización. Si una ruta utiliza este repositorio sin proporcionar una instancia hazelcastInstance, se inicia un miembro Hazelcast que deserializa valores leídos del ReplicatedMap subyacente sin restricciones de clase.
  • HazelcastDefaultComponent#getOrCreateHzClientInstance(): cuando se selecciona hazelcastMode=client y no se proporciona ni un ClientConfig referenciado ni un hazelcastConfigUri, el componente construye su propio ClientConfig sin aplicar el filtro de serialización. Esto provoca que los endpoints en modo cliente se comporten de manera diferente a los de modo nodo ante una configuración idéntica.

En ambos casos, un atacante que pueda publicar datos en el clúster Hazelcast al que está conectada la instancia afectada puede provocar que un objeto Java serializado de su elección sea deserializado dentro de la capa de serialización de Hazelcast, antes de que Camel procese el intercambio. Esto resulta en ejecución remota de código.

Es importante destacar que los clústeres Hazelcast no tienen autenticación ni TLS habilitados por defecto, y que seleccionar el modo cliente es una decisión de topología, no una opción de seguridad. Por tanto, ninguna de las dos rutas afectadas requiere que el despliegue haya optado explícitamente por un comportamiento inseguro.

La vulnerabilidad afecta a Apache Camel desde la versión 4.0.0 hasta antes de la 4.18.5, y desde la 4.19.0 hasta antes de la 4.22.1. La corrección se incluye en la versión 4.23.0, así como en las versiones 4.22.1 y 4.18.5 para sus respectivas líneas de lanzamiento.

Las ramas 4.14.x y anteriores han llegado al final de su ciclo de vida antes de que se resolviera este problema y no recibirán un parche, por lo que los despliegues en esas versiones deben migrar a una versión soportada.

Productos y versiones vulnerables

La vulnerabilidad CVE-2026-78162 afecta a Apache Camel, proyecto de la Apache Software Foundation. Según la información publicada por CVE.org y NVD, las versiones afectadas son las siguientes:

Producto Rama de versiones Estado Versión corregida
Apache Camel Desde 4.0.0 hasta antes de 4.18.5 Afectada 4.18.5
Desde 4.19.0 hasta antes de 4.22.1 Afectada 4.22.1
Apache Camel 4.23.0 No afectada —

La rama 4.14.x y anteriores alcanzó su fin de vida útil antes de que se resolviera este problema y no recibirá un parche. Las implementaciones que permanezcan en esas líneas deben migrar a una versión compatible.

El origen del fallo se encuentra en el componente camel-hazelcast. La protección introducida por la CVE-2026-43865 (un filtro de deserialización Java JavaSerializationFilterConfig) no se aplicó en dos rutas de configuración que Camel construye internamente:

  • ReplicatedHazelcastAggregationRepository: sobrescribe doStart() sin invocar a super.doStart(), por lo que nunca recibe el filtro.
  • HazelcastDefaultComponent#getOrCreateHzClientInstance(): al seleccionar hazelcastMode=client sin proporcionar un ClientConfig ni una hazelcastConfigUri, construye su propia configuración sin filtro.

Impacto y riesgo

La vulnerabilidad tiene una puntuación CVSS v4.0 de 10.0, con severidad CRÍTICA. El vector completo es:

CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H

Esto implica que un atacante remoto, sin autenticación y sin interacción del usuario, puede comprometer la confidencialidad, integridad y disponibilidad tanto del sistema afectado como de los sistemas colindantes. El fallo se clasifica como CWE-502: Deserialización de datos no confiables.

El escenario de explotación requiere que el atacante pueda publicar datos en el clúster Hazelcast al que está conectada la instancia afectada. Si logra hacerlo, puede enviar un objeto Java serializado diseñado para ejecutar código arbitrario durante el proceso de deserialización, que ocurre dentro de la capa de serialización de Hazelcast, antes de que Camel procese el intercambio. El resultado es una ejecución remota de código.

El riesgo se ve agravado por dos factores:

  • Los clústeres Hazelcast no tienen autenticación ni TLS habilitados por defecto.
  • Seleccionar el modo cliente es una decisión de topología, no una opción de seguridad, por lo que ninguna de las dos rutas afectadas exige que la implementación opte explícitamente por un comportamiento inseguro.

Estado de explotación conocida

Las fuentes consultadas (NVD y CVE.org) no publican información sobre explotación activa de esta vulnerabilidad. No se ha confirmado ni documentado ningún caso de aprovechamiento en entornos reales. Sin embargo, la naturaleza del fallo —deserialización no restringida alcanzable por red— y su puntuación máxima de CVSS justifican una corrección inmediata sin esperar a que aparezcan pruebas de concepto públicas.

Indicadores de compromiso (IOC)

No se han extraído indicadores de compromiso estructurados de las fuentes consultadas. Por tanto, no se publican IOC en este aviso. Se recomienda a los administradores revisar los registros de sus clústeres Hazelcast y de las rutas de Camel en busca de actividades anómalas, prestando especial atención a conexiones no autorizadas y a objetos Java deserializados inesperados.

Cómo comprobar si estás afectado

Para determinar si tu despliegue de Apache Camel es vulnerable a CVE-2026-78162, debes verificar dos aspectos: la versión de Camel en uso y la configuración específica del componente camel-hazelcast.

1. Verifica la versión de Apache Camel

La vulnerabilidad afecta a las siguientes líneas de versiones:

  • Desde 4.0.0 hasta antes de 4.18.5 (ambas incluidas).
  • Desde 4.19.0 hasta antes de 4.22.1 (ambas incluidas).

Las versiones corregidas son 4.18.5, 4.22.1 y 4.23.0. Si tu versión se encuentra dentro de los rangos afectados, continúa con la revisión de configuración. Si estás en la rama 4.14.x o anterior, dicha línea ha alcanzado el final de su ciclo de vida y no recibirá corrección; deberás migrar a una versión soportada.

2. Revisa el uso del componente camel-hazelcast

La vulnerabilidad solo es explotable si utilizas el componente camel-hazelcast en alguna de estas dos rutas de configuración:

  • ReplicatedHazelcastAggregationRepository: si defines una ruta que usa este repositorio sin suministrar una instancia hazelcastInstance preconfigurada, Camel inicia un miembro Hazelcast que deserializa valores de la ReplicatedMap subyacente sin restricción de clases.
  • HazelcastDefaultComponent en modo cliente: si seleccionas hazelcastMode=client y no proporcionas ni un ClientConfig referenciado ni una hazelcastConfigUri, el componente construye su propia configuración de cliente sin aplicar el filtro de deserialización.

Si no usas camel-hazelcast en ninguna de estas modalidades, tu exposición es menor. No obstante, dado el nivel de criticidad (CVSS 10.0), se recomienda actualizar igualmente.

3. Evalúa el entorno del clúster Hazelcast

Ten en cuenta que los clústeres Hazelcast no habilitan autenticación ni TLS por defecto. Si tu clúster es accesible desde la red sin credenciales, el riesgo de explotación remota es significativamente mayor. Un atacante capaz de publicar objetos serializados en el clúster podría ejecutar código arbitrario en el nodo afectado.

Mitigación y actualización

La corrección definitiva consiste en actualizar a una versión parcheada. Las versiones que resuelven el problema son:

  • 4.23.0: versión que corrige el fallo de forma integral.
  • 4.22.1: para despliegues en la rama 4.22.x.
  • 4.18.5: para despliegues en la rama 4.18.x.

Las ramas 4.14.x y anteriores han alcanzado el final de su ciclo de vida y no recibirán un parche. Si te encuentras en alguna de ellas, debes migrar a una versión soportada.

Mitigaciones temporales

Si no puedes actualizar de inmediato, aplica una o varias de las siguientes medidas compensatorias:

  • Configuración explícita de Hazelcast: suministra una configuración Hazelcast que incluya un JavaSerializationFilterConfig adecuado. Camel nunca sobrescribe una configuración proporcionada por el usuario, por lo que esta medida es efectiva.
  • Inyección de instancia preconfigurada: proporciona una instancia HazelcastInstance ya construida con el filtro de serialización aplicado.
  • Filtro JVM global: establece el filtro de serialización a nivel de JVM con el parámetro -Djdk.serialFilter=!java.net.;java.;javax.;org.apache.camel.;!*. Esta medida restringe las clases que pueden deserializarse en todo el proceso.
  • Seguridad de red: habilita autenticación y TLS en el clúster Hazelcast para limitar qué actores pueden publicar datos en el mismo. Recuerda que estas funciones no están activadas por defecto.

Nota importante: seleccionar el modo cliente (hazelcastMode=client) es una decisión de topología, no una medida de seguridad. La vulnerabilidad afecta tanto a modo nodo como a modo cliente en las rutas de configuración descritas.

Checklist para administradores

  • ☐ Identificar la versión exacta de Apache Camel desplegada en todos los entornos (producción, preproducción y desarrollo).
  • ☐ Verificar si se utiliza el componente camel-hazelcast en alguna ruta o configuración.
  • ☐ Confirmar si se emplea ReplicatedHazelcastAggregationRepository sin instancia Hazelcast preconfigurada.
  • ☐ Confirmar si se usa hazelcastMode=client sin ClientConfig referenciado ni hazelcastConfigUri.
  • ☐ Revisar si el clúster Hazelcast tiene autenticación y TLS habilitados; si no, asumir exposición potencial.
  • ☐ Planificar la actualización a 4.23.0, 4.22.1 o 4.18.5 según la rama de versiones en uso.
  • ☐ Si la actualización no es inmediata, aplicar las mitigaciones temporales descritas (filtro de serialización, configuración explícita o inyección de instancia).
  • ☐ Establecer el filtro JVM global -Djdk.serialFilter como defensa en profundidad mientras se completa la actualización.
  • ☐ Verificar que las ramas 4.14.x o anteriores se migran a una versión soportada, ya que no recibirán parche.
  • ☐ Monitorizar los avisos oficiales de Apache Camel por si se publican nuevas recomendaciones o parches adicionales.

Preguntas frecuentes

¿Qué versión de Apache Camel corrige CVE-2026-78162?

Las versiones corregidas son 4.23.0, 4.22.1 (para la rama 4.22.x) y 4.18.5 (para la rama 4.18.x). Si usas una versión anterior a 4.18.5 o una 4.19.x anterior a 4.22.1, estás afectado.

¿La vulnerabilidad afecta a todos los despliegues de Apache Camel?

No. Solo afecta a despliegues que utilizan el componente camel-hazelcast en las rutas de configuración específicas descritas: ReplicatedHazelcastAggregationRepository sin instancia preconfigurada, o modo cliente sin configuración explícita. Sin embargo, dado el CVSS de 10.0, se recomienda actualizar independientemente del uso del componente.

¿Qué es CWE-502 y por qué es relevante aquí?

CWE-502 corresponde a «Deserialización de datos no confiables». En este caso, un atacante que pueda publicar datos en el clúster Hazelcast puede provocar la deserialización de objetos Java arbitrarios dentro de la capa de serialización de Hazelcast, antes de que Camel procese el intercambio, resultando en ejecución remota de código.

¿El modo cliente de Hazelcast es más seguro que el modo nodo?

No. La selección del modo cliente es una decisión de topología, no una opción de seguridad. La vulnerabilidad afecta a ambas rutas de configuración por igual. Un despliegue en modo cliente sin configuración explícita es tan vulnerable como uno en modo nodo sin filtro.

¿Puedo mitigar la vulnerabilidad sin actualizar?

Sí, existen mitigaciones temporales: suministrar una configuración Hazelcast explícita con JavaSerializationFilterConfig, inyectar una instancia HazelcastInstance preconfigurada, establecer el filtro JVM global -Djdk.serialFilter, y habilitar autenticación y TLS en el clúster. No obstante, estas medidas no sustituyen a la actualización, que es la corrección definitiva.

¿Qué hago si estoy en la rama 4.14.x o anterior?

Esas ramas han alcanzado el final de su ciclo de vida y no recibirán un parche para esta vulnerabilidad. Debes migrar a una versión soportada (4.18.5, 4.22.1 o 4.23.0) lo antes posible. Mientras tanto, aplica las mitigaciones temporales descritas.

Fuentes oficiales

Para obtener información detallada y actualizaciones oficiales, consulta las siguientes referencias:

Sigue leyendo Las 5 últimas noticias de 🔐​CIBERSEGURIDAD
Tendencias Las más vistas de los últimos 1 días

Deja un comentario