CVE-2026-78162

Estado: Pendiente de análisisCrítica (10)—PoC
Gravedad10Crítica · CVSS 4.0
Probabilidad de explotación1.26 %mayor que el 69 % de las CVE
Explotación activaNono figura en el catálogo de CISA
Exploit públicoDisponiblePrueba de concepto en GitHub (no verificada)

Vulnerabilidad de deserialización de datos no confiables en Apache Camel.

Este problema afecta a Apache Camel: desde la 4.0.0 hasta antes de la 4.18.5, y desde la 4.19.0 hasta antes de la 4.22.1.

El componente camel-hazelcast aplica un JavaSerializationFilterConfig de Hazelcast por defecto a las instancias que crea a partir de su propia configuración, una protección introducida por CVE-2026-43865. Ese cambio no llegó a dos de las rutas de configuración que Camel construye por sí mismo, por lo que esas rutas seguían creando instancias de Hazelcast cuya deserialización Java no estaba restringida.

Leer descripción completaMostrar menos

ReplicatedHazelcastAggregationRepository extiende HazelcastAggregationRepository pero sobrescribe doStart() sin llamar a super.doStart(), manteniendo su propia copia del bloque de arranque, y por tanto nunca recibió el filtro: una ruta que lo usa sin proporcionar un hazelcastInstance arranca un miembro de Hazelcast que deserializa los valores leídos del ReplicatedMap de respaldo sin ninguna restricción de clases. HazelcastDefaultComponent#getOrCreateHzClientInstance() construye su propio ClientConfig cuando se selecciona hazelcastMode=client y no se proporciona ni un ClientConfig referenciado ni hazelcastConfigUri; asimismo, tampoco aplicaba filtro alguno, de modo que los endpoints en modo cliente se comportaban de forma distinta a los endpoints en modo nodo para una configuración por lo demás idéntica. En ambos casos, un atacante capaz de publicar en el clúster de Hazelcast al que está conectada la instancia afectada puede hacer que un objeto Java serializado de su elección sea deserializado dentro de la propia capa de serialización de Hazelcast, antes de que Camel procese el intercambio, lo que resulta en ejecución remota de código. Los clústeres de Hazelcast no tienen habilitados por defecto ni la autenticación ni TLS. Elegir el modo cliente es una decisión de topología y no una opción de seguridad, por lo que ninguna de las dos rutas requería que el despliegue optara por un comportamiento inseguro.

Se recomienda a los usuarios actualizar a la versión 4.23.0, que corrige el problema. Si los usuarios están en la serie de versiones 4.22.x, se les sugiere actualizar a la 4.22.1. Si están en la serie 4.18.x, se les sugiere actualizar a la 4.18.5. Las series 4.14.x y anteriores llegaron al fin de su vida útil antes de que se resolviera este problema y no recibirán corrección, por lo que los despliegues en esas series deben migrar a una versión soportada. Para los despliegues que no puedan actualizar de inmediato, proporcionen una configuración explícita de Hazelcast que incluya un JavaSerializationFilterConfig, o inyecten una HazelcastInstance ya construida, ya que Camel nunca sobrescribe una configuración suministrada por el usuario. Alternativamente, configuren el filtro a nivel de JVM -Djdk.serialFilter=!java.net.;java.;javax.;org.apache.camel.;!* y habiliten la autenticación de clúster y TLS en Hazelcast para restringir quién puede llegar al clúster.

Traducción automática del texto original de NVD (en inglés).

CVSS

Puntuación base
10
Versión
4.0
Vector
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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X

Probabilidad de explotación (EPSS)

Probabilidad de explotación en los próximos 30 días
1.26 %
Percentil entre todas las CVEs puntuadas
69
Fecha de la puntuación
20/10/2026

EPSS (Exploit Prediction Scoring System, de FIRST) estima la probabilidad de que una vulnerabilidad sea explotada en 30 días. Complementa a CVSS (impacto) y a CISA KEV (explotación confirmada).

Exploits públicos

Hay código de explotación o plantillas de detección públicos. No es lo mismo que explotación activa confirmada (KEV), pero aumenta el riesgo: parchee con prioridad.

⚠️ Las pruebas de concepto de GitHub no están verificadas: algunas son falsas o contienen malware. No las ejecute nunca fuera de un laboratorio aislado.

Técnicas ATT&CK

Cómo se explota esta vulnerabilidad y qué consigue el atacante, en el lenguaje de MITRE ATT&CK.

Deserialización Java sin filtro en Hazelcast lleva a ejecución remota de código; el vector AV:N/PR:N/UI:N indica acceso de red sin privilegios ni interacción.

Inferido por nuestro agente de análisis a partir de la descripción oficial, el vector CVSS y la CWE, y comprobado por un supervisor. Puede contener errores.

Mitigaciones ATT&CK que cubren estas técnicas

Tecnologías afectadas (1)

⚠ Inferidas por IA a partir de la descripción — NVD aún no ha analizado esta CVE; no son CPE verificados.

CWE

Referencias

Mostrar las 8 referencias

JSON original (NVD)

Mostrar
{
  "id": "CVE-2026-78162",
  "cveTags": [],
  "metrics": {
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "id": "CVE-2026-78162",
          "role": "CISA Coordinator",
          "options": [
            {
              "exploitation": "poc"
            },
            {
              "automatable": "yes"
            },
            {
              "technicalImpact": "total"
            }
          ],
          "version": "2.0.3",
          "timestamp": "2026-10-19T00:00:00+00:00"
        }
      }
    ],
    "cvssMetricV40": [
      {
        "type": "Secondary",
        "source": "security@apache.org",
        "cvssData": {
          "Safety": "NOT_DEFINED",
          "version": "4.0",
          "Recovery": "NOT_DEFINED",
          "baseScore": 10,
          "Automatable": "NOT_DEFINED",
          "attackVector": "NETWORK",
          "baseSeverity": "CRITICAL",
          "valueDensity": "NOT_DEFINED",
          "vectorString": "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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X",
          "exploitMaturity": "NOT_DEFINED",
          "providerUrgency": "NOT_DEFINED",
          "userInteraction": "NONE",
          "attackComplexity": "LOW",
          "attackRequirements": "NONE",
          "privilegesRequired": "NONE",
          "subIntegrityImpact": "HIGH",
          "vulnIntegrityImpact": "HIGH",
          "integrityRequirement": "NOT_DEFINED",
          "modifiedAttackVector": "NOT_DEFINED",
          "subAvailabilityImpact": "HIGH",
          "vulnAvailabilityImpact": "HIGH",
          "availabilityRequirement": "NOT_DEFINED",
          "modifiedUserInteraction": "NOT_DEFINED",
          "modifiedAttackComplexity": "NOT_DEFINED",
          "subConfidentialityImpact": "HIGH",
          "vulnConfidentialityImpact": "HIGH",
          "confidentialityRequirement": "NOT_DEFINED",
          "modifiedAttackRequirements": "NOT_DEFINED",
          "modifiedPrivilegesRequired": "NOT_DEFINED",
          "modifiedSubIntegrityImpact": "NOT_DEFINED",
          "modifiedVulnIntegrityImpact": "NOT_DEFINED",
          "vulnerabilityResponseEffort": "NOT_DEFINED",
          "modifiedSubAvailabilityImpact": "NOT_DEFINED",
          "modifiedVulnAvailabilityImpact": "NOT_DEFINED",
          "modifiedSubConfidentialityImpact": "NOT_DEFINED",
          "modifiedVulnConfidentialityImpact": "NOT_DEFINED"
        }
      }
    ]
  },
  "affected": [
    {
      "source": "security@apache.org",
      "affectedData": [
        {
          "vendor": "Apache Software Foundation",
          "product": "Apache Camel",
          "versions": [
            {
              "status": "affected",
              "version": "4.0.0",
              "lessThan": "4.18.5",
              "versionType": "maven"
            },
            {
              "status": "affected",
              "version": "4.19.0",
              "lessThan": "4.22.1",
              "versionType": "maven"
            },
            {
              "status": "unaffected",
              "version": "4.18.5",
              "versionType": "maven"
            },
            {
              "status": "unaffected",
              "version": "4.22.1",
              "versionType": "maven"
            },
            {
              "status": "unaffected",
              "version": "4.23.0",
              "versionType": "maven"
            }
          ],
          "packageURL": "pkg:maven/org.apache.camel/camel-hazelcast",
          "packageName": "org.apache.camel:camel-hazelcast",
          "collectionURL": "https://repo.maven.apache.org/maven2",
          "defaultStatus": "unaffected"
        }
      ]
    }
  ],
  "published": "2026-10-19T11:17:19.037",
  "references": [
    {
      "url": "https://camel.apache.org/security/CVE-2026-43865.html",
      "source": "security@apache.org"
    },
    {
      "url": "https://camel.apache.org/security/CVE-2026-78162.html",
      "source": "security@apache.org"
    },
    {
      "url": "https://github.com/apache/camel/pull/25566",
      "source": "security@apache.org"
    },
    {
      "url": "https://github.com/apache/camel/pull/25595",
      "source": "security@apache.org"
    },
    {
      "url": "https://github.com/apache/camel/pull/25599",
      "source": "security@apache.org"
    },
    {
      "url": "https://github.com/apache/camel/pull/25600",
      "source": "security@apache.org"
    },
    {
      "url": "https://issues.apache.org/jira/browse/CAMEL-24413",
      "source": "security@apache.org"
    },
    {
      "url": "https://issues.apache.org/jira/browse/CAMEL-24420",
      "source": "security@apache.org"
    }
  ],
  "vulnStatus": "Awaiting Analysis",
  "weaknesses": [
    {
      "type": "Secondary",
      "source": "security@apache.org",
      "description": [
        {
          "lang": "en",
          "value": "CWE-502"
        }
      ]
    }
  ],
  "descriptions": [
    {
      "lang": "en",
      "value": "Deserialization of Untrusted Data vulnerability in Apache Camel.\n\n\n\nThis issue affects Apache Camel: from 4.0.0 before 4.18.5, from 4.19.0 before 4.22.1.\n\n\n\nThe camel-hazelcast component applies a default Hazelcast JavaSerializationFilterConfig to the instances it creates from its own configuration, a protection introduced by CVE-2026-43865. That change did not reach two of the configuration paths Camel builds itself, so those paths continued to create Hazelcast instances whose Java deserialization is unrestricted. ReplicatedHazelcastAggregationRepository extends HazelcastAggregationRepository but overrides doStart() without calling super.doStart(), keeping its own copy of the bootstrap block, and therefore never received the filter: a route using it without supplying a hazelcastInstance starts a Hazelcast member that deserializes values read from the backing ReplicatedMap with no class restriction. HazelcastDefaultComponent#getOrCreateHzClientInstance() builds its own ClientConfig when hazelcastMode=client is selected and neither a referenced ClientConfig nor hazelcastConfigUri is supplied, and likewise applied no filter, so client-mode endpoints behaved differently from node-mode endpoints for an otherwise identical configuration. In both cases an attacker able to publish into the Hazelcast cluster that the affected instance is attached to can cause a serialized Java object of their choosing to be deserialized inside Hazelcast's own serialization layer, before Camel processes the exchange, resulting in remote code execution. Hazelcast clusters have neither authentication nor TLS enabled by default. Selecting client mode is a topology choice rather than a security option, so neither path required the deployment to opt in to unsafe behaviour.\n\n\n\nUsers are recommended to upgrade to version 4.23.0, which fixes the issue. If users are on the 4.22.x releases stream, then they are suggested to upgrade to 4.22.1. If users are on the 4.18.x releases stream, then they are suggested to upgrade to 4.18.5. The 4.14.x releases stream and earlier reached end of life before this issue was resolved and will not receive a fix, so deployments on those lines must move to a supported release. For deployments that cannot upgrade immediately, supply an explicit Hazelcast configuration carrying a JavaSerializationFilterConfig, or inject a pre-built HazelcastInstance, since a user-supplied configuration is never overwritten by Camel. Alternatively set the JVM-wide filter -Djdk.serialFilter=!java.net.;java.;javax.;org.apache.camel.;!* and enable Hazelcast cluster authentication and TLS to restrict who can reach the cluster."
    }
  ],
  "lastModified": "2026-10-20T04:17:02.327",
  "sourceIdentifier": "security@apache.org"
}