Tres Maneras de Lograr Ejecución Remota de Código en la Interfaz de Kafka

Elena Digital López

La vulnerabilidad en herramientas de software se ha convertido en un tema de creciente preocupación en el ámbito de la ciberseguridad. Recientemente, se ha descubierto que Kafka UI, una aplicación web de código abierto ampliamente utilizada para la gestión y monitoreo de clústeres de Apache Kafka, presenta serias vulnerabilidades de seguridad que podrían comprometer los sistemas donde se despliega.

Kafka UI ha sido adoptada principalmente por desarrolladores y administradores que buscan una representación visual interactiva de sus clústeres de Kafka. Sin embargo, esta popular herramienta, en su configuración predeterminada, no requiere autenticación para leer y escribir datos. Esto ha llevado a que numerosas instancias de Kafka UI permanezcan desprotegidas, expuestas en redes internas y, en algunos casos, incluso en internet. Aunque el acceso a datos aparentemente no sensibles pueda no parecer inmediatamente alarmante, abre puertas a posibles intrusiones en redes internas.

Durante un estudio de seguridad, un investigador relata cómo logró identificar tres vulnerabilidades críticas de Ejecución Remota de Código (RCE, por sus siglas en inglés) en Kafka UI. Estas vulnerabilidades han sido corregidas en la versión 0.7.2 de la aplicación, y se urge a los usuarios que actualicen cuanto antes sus versiones para proteger sus sistemas.

Una de las vulnerabilidades más destacadas, catalogada como CVE-2023-52251, radica en la funcionalidad de filtrado de mensajes de Kafka UI. La aplicación acepta scripts Groovy como consultas de filtro, lo que permite a un atacante ejecutar comandos arbitrarios en el servidor. Al examinar el código fuente, se encontró que este tipo de filtro evalúa scripts Groovy de manera insegura, lo que permitió al investigador activar un shell inverso manipulando las peticiones HTTP enviadas al servidor.

Además, la vulnerabilidad CVE-2024-32030 utiliza el conector JMX de Kafka UI como vector de ataque. Al modificar la configuración de los clústeres para direccionar a servidores JMX maliciosos, es posible incitar la deserialización de objetos no confiables, una táctica que ha sido explotada en múltiples productos Java en el pasado. Este tipo de ataque puede resultar en la ejecución de comandos arbitrarios en el sistema afectado.

La tercera vulnerabilidad, CVE-2023-25194, aprovecha el módulo JndiLoginModule, un mecanismo para autenticar conexiones a clústeres de Kafka. Manipulando ciertas propiedades del clúster, un atacante puede inducir el uso de JNDI para ejecutar código malicioso, similar al vector de ataque de JMX.

En cada caso, la actualización a la versión 0.7.2 de Kafka UI mitiga los riesgos asociados al mejorar las dependencias y evitar que los atacantes exploten las debilidades mencionadas. Estos hallazgos subrayan la necesidad de una gestión cuidadosa de las configuraciones de acceso y la implementación oportuna de parches de seguridad en entornos de producción.

La seguridad de las aplicaciones es fundamental en un mundo interconectado, y herramientas como Kafka UI, aunque útiles y versátiles, deben ser continuamente auditadas para prevenir brechas que puedan ser explotadas por actores maliciosos. La comunidad de software de código abierto, junto con los desarrolladores de herramientas como Kafka UI, juega un papel crucial en la identificación y mitigación de tales riesgos.

Scroll al inicio