3 ways to get Remote Code Execution in Kafka UI
Blog post from GitHub
Kafka UI, an open-source web application for managing and monitoring Apache Kafka clusters, was found to have multiple Remote Code Execution (RCE) vulnerabilities due to its default configuration, which doesn't require authentication for data access. In a detailed examination, security researcher Michael Stepankin identified three distinct RCE vulnerabilities, primarily exploited through Groovy scripting and JMX connector misconfigurations, that could potentially expose internal networks to threats. Stepankin's research highlights how these vulnerabilities allow unauthorized code execution by leveraging Groovy scripts or exploiting JMX ports, further aggravated by the dynamic configuration feature that many tutorials suggest enabling. Despite the inherent risks, these vulnerabilities were only patched in version 0.7.2 of Kafka UI after a significant delay, during which many instances remained unprotected. The vulnerabilities were exacerbated by Java's JMX and JNDI features, which, despite recent hardening efforts, remain susceptible to exploitation under certain conditions. Stepankin's findings underscore the critical need for secure configuration and prompt updates to mitigate such security risks in Java-based applications.