CVE-2025-27818:
Apache Kafka Deserialization Remote Code Execution Vulnerability
8.8
CVSS ScoreBasic Information
Technical Details
Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
---|---|---|---|
org.apache.kafka:kafka | maven | >= 2.3.0, < 3.9.1 | 3.9.1 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability (CVE-2025-27818) in Apache Kafka allows an attacker with specific permissions to set the sasl.jaas.config
property to use com.sun.security.auth.module.LdapLoginModule
. This can lead to the Kafka server connecting to an attacker-controlled LDAP server and deserializing a malicious LDAP response, potentially resulting in Remote Code Execution (RCE). The fix involves adding a system property org.apache.kafka.disallowed.login.modules
to disable the use of com.sun.security.auth.module.JndiLoginModule
and com.sun.security.auth.module.LdapLoginModule
by default in versions 3.9.1/4.0.0 and later.
However, due to the inability to fetch commit information (due to a BadCredentialsException when trying to access the GitHub API for repository tags), I cannot analyze the specific code changes that introduced or fixed this vulnerability. Therefore, I cannot confidently identify the exact vulnerable functions or the functions modified in the patch.
The functions that would likely be involved are those responsible for:
- Processing and applying SASL JAAS configurations, particularly
sasl.jaas.config
and its overrides (producer.override.sasl.jaas.config
,consumer.override.sasl.jaas.config
,admin.override.sasl.jaas.config
). - Instantiating and managing SASL login modules.
- Handling LDAP connections and deserializing LDAP responses.
The patched versions would include checks against the org.apache.kafka.disallowed.login.modules
system property within the SASL authentication setup to prevent the instantiation of disallowed modules.
Without the specific commit details, providing a list of vulnerable functions with the required precision (exact function names, file paths, and patch evidence) is not possible.