CVE-2025-27818

A possible security vulnerability has been identified in Apache Kafka. This requires access to a alterConfig to the cluster resource, or Kafka Connect worker, and the ability to create/modify connectors on it with an arbitrary Kafka client SASL JAAS config and a SASL-based security protocol, which has been possible on Kafka clusters since Apache Kafka 2.0.0 (Kafka Connect 2.3.0). When configuring the broker via config file or AlterConfig command, or connector via the Kafka Kafka Connect REST API, an authenticated operator can set the `sasl.jaas.config` property for any of the connector's Kafka clients to "com.sun.security.auth.module.LdapLoginModule", which can be done via the `producer.override.sasl.jaas.config`, `consumer.override.sasl.jaas.config`, or `admin.override.sasl.jaas.config` properties. This will allow the server to connect to the attacker's LDAP server and deserialize the LDAP response, which the attacker can use to execute java deserialization gadget chains on the Kafka connect server. Attacker can cause unrestricted deserialization of untrusted data (or) RCE vulnerability when there are gadgets in the classpath. Since Apache Kafka 3.0.0, users are allowed to specify these properties in connector configurations for Kafka Connect clusters running with out-of-the-box configurations. Before Apache Kafka 3.0.0, users may not specify these properties unless the Kafka Connect cluster has been reconfigured with a connector client override policy that permits them. Since Apache Kafka 3.9.1/4.0.0, we have added a system property ("-Dorg.apache.kafka.disallowed.login.modules") to disable the problematic login modules usage in SASL JAAS configuration. Also by default "com.sun.security.auth.module.JndiLoginModule,com.sun.security.auth.module.LdapLoginModule" are disabled in Apache Kafka Connect 3.9.1/4.0.0. We advise the Kafka users to validate connector configurations and only allow trusted LDAP configurations. Also examine connector dependencies for vulnerable versions and either upgrade their connectors, upgrading that specific dependency, or removing the connectors as options for remediation. Finally, in addition to leveraging the "org.apache.kafka.disallowed.login.modules" system property, Kafka Connect users can also implement their own connector client config override policy, which can be used to control which Kafka client properties can be overridden directly in a connector config and which cannot.
Configurations

No configuration.

History

10 Jun 2025, 16:15

Type Values Removed Values Added
CVSS v2 : unknown
v3 : unknown
v2 : unknown
v3 : 8.8
Summary
  • (es) 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.

10 Jun 2025, 08:15

Type Values Removed Values Added
New CVE

Information

Published : 2025-06-10 08:15

Updated : 2025-06-10 16:15


NVD link : CVE-2025-27818

Mitre link : CVE-2025-27818

CVE.ORG link : CVE-2025-27818


JSON object : View

Products Affected

No product.

CWE
CWE-502

Deserialization of Untrusted Data