Miggo Logo

CVE-2025-27818:
Apache Kafka Deserialization Remote Code Execution Vulnerability

8.8

CVSS Score

Basic Information

EPSS Score
-
Published
6/10/2025
Updated
6/10/2025
KEV Status
No
Technology
TechnologyJava

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Package NameEcosystemVulnerable VersionsFirst Patched Version
org.apache.kafka:kafkamaven>= 2.3.0, < 3.9.13.9.1

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot 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:

  1. 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).
  2. Instantiating and managing SASL login modules.
  3. 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.

Vulnerable functions

Only Mi**o us*rs **n s** t*is s**tion

WAF Protection Rules

WAF Rule

* possi*l* s**urity vuln*r**ility **s ***n i**nti*i** in *p**** K**k*. T*is r*quir*s ****ss to * *lt*r*on*i* to t** *lust*r r*sour**, or K**k* *onn**t work*r, *n* t** **ility to *r**t*/mo*i*y *onn**tors on it wit* *n *r*itr*ry K**k* *li*nt S*SL J**S

Reasoning

T** vuln*r**ility (*V*-****-*****) in *p**** K**k* *llows *n *tt**k*r wit* sp**i*i* p*rmissions to s*t t** `s*sl.j**s.*on*i*` prop*rty to us* `*om.sun.s**urity.*ut*.mo*ul*.L**pLo*inMo*ul*`. T*is **n l*** to t** K**k* s*rv*r *onn**tin* to *n *tt**k*r-