Vulnerabilidad de código de ejecución remota de Apache Kafka (CVE-2023-25194)

Apache Kafka, la plataforma distribuida para la transmisión de datos, presenta una vulnerabilidad identificada como CVE-2023-25194 con puntuación temporal CVSS 6.3.

Esta vulnerabilidad es causada por un problema de deserialización insegura al configurar el conector a través de la API REST de Kafka Connect. Al enviar una solicitud especialmente diseñada, un atacante podría aprovechar esta vulnerabilidad para ejecutar código arbitrario o provocar una denegación de servicio en el sistema.

Al configurar el conector a través de la API REST de Kafka Connect, un operador autenticado puede establecer la propiedad `sasl.jaas.config` para cualquiera de los clientes Kafka del conector para: “com.sun.security.auth.module.JndiLoginModule”, que puede hacerse a través de 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, la cual se puede usar para ejecutar cadenas de gadgets de deserialización de Java en el servidor Kafka Connect. Los atacantes pueden provocar la deserialización sin restricciones de los datos que no son de confianza, o la vulnerabilidad RCE cuando hay dispositivos en el classpath.

Los usuarios de Kafka Connect pueden mitigar esta vulnerabilidad, validando las configuraciones del conector y que solo permitan configuraciones JNDI de confianza. También deberían, examinar las dependencias de los conectores en busca de versiones vulnerables y actualizar sus conectores, actualice esa dependencia específica o elimine los conectores como opciones para la corrección.

Apache Kafka ha lanzado la actualización que soluciona esta vulnerabilidad, en su versión 3.4.0.

Recomendaciones

  • Actualizar inmediatamente a la última versión de Apache Kafka

Referencias