Vulnerabilidad en Apache Kafka (CVE-2025-27818)
Gravedad CVSS v3.1:
ALTA
Tipo:
CWE-502
Deserialización de datos no confiables
Fecha de publicación:
10/06/2025
Última modificación:
11/07/2025
Descripción
Se ha identificado una posible vulnerabilidad de seguridad en Apache Kafka. Esta vulnerabilidad requiere acceso a un `alterConfig` del recurso del clúster o del trabajador de Kafka Connect, y la capacidad de crear o modificar conectores en él con una configuración SASL JAAS de cliente de Kafka arbitraria y un protocolo de seguridad basado en SASL. Esto es posible en clústeres de Kafka desde Apache Kafka 2.0.0 (Kafka Connect 2.3.0). Al configurar el bróker mediante el archivo de configuración o el comando `AlterConfig`, o el conector mediante la API REST de Kafka Connect, un operador autenticado puede establecer la propiedad `sasl.jaas.config` para cualquiera de los clientes de Kafka del conector como "com.sun.security.auth.module.LdapLoginModule", lo cual se puede hacer mediante las propiedades `producer.override.sasl.jaas.config`, `consumer.override.sasl.jaas.config` o `admin.override.sasl.jaas.config`. Esto permitirá que el servidor se conecte al servidor LDAP del atacante y deserialice la respuesta LDAP, que el atacante puede usar para ejecutar cadenas de gadgets de deserialización de Java en el servidor de Kafka Connect. El atacante puede provocar la deserialización sin restricciones de datos no confiables (o) una vulnerabilidad de RCE cuando hay gadgets en la ruta de clases. Desde Apache Kafka 3.0.0, los usuarios pueden especificar estas propiedades en las configuraciones del conector para clústeres de Kafka Connect que se ejecutan con configuraciones predeterminadas. Antes de Apache Kafka 3.0.0, los usuarios no podían especificar estas propiedades a menos que el clúster de Kafka Connect se hubiera reconfigurado con una política de anulación del cliente del conector que lo permitiera. Desde Apache Kafka 3.9.1/4.0.0, hemos añadido una propiedad del sistema ("-Dorg.apache.kafka.disallowed.login.modules") para deshabilitar el uso problemático de los módulos de inicio de sesión en la configuración SASL JAAS. Además, "com.sun.security.auth.module.JndiLoginModule,com.sun.security.auth.module.LdapLoginModule" están deshabilitados de forma predeterminada en Apache Kafka Connect 3.9.1/4.0.0. Recomendamos a los usuarios de Kafka que validen las configuraciones de los conectores y solo permitan configuraciones LDAP confiables. Asimismo, examinen las dependencias de los conectores para detectar versiones vulnerables y actualicen sus conectores, ya sea actualizando esa dependencia específica o eliminándolos como opciones de solución. Finalmente, además de aprovechar la propiedad del sistema "org.apache.kafka.disallowed.login.modules", los usuarios de Kafka Connect pueden implementar su propia política de anulación de la configuración del cliente del conector, que permite controlar qué propiedades del cliente de Kafka se pueden anular directamente en la configuración del conector y cuáles no.
Impacto
Puntuación base 3.x
8.80
Gravedad 3.x
ALTA
Productos y versiones vulnerables
CPE | Desde | Hasta |
---|---|---|
cpe:2.3:a:apache:kafka:*:*:*:*:*:*:*:* | 2.3.0 (incluyendo) | 3.9.1 (excluyendo) |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página