CVE-2025-27818 json
Apache Kafka: Possible RCE attack via SASL JAAS LdapLoginModule configuration
published 2025-06-10 16 mo ago modified 2026-09-08 2 mo ago also BIT-kafka-2025-27818 , EUVD-2025-17639 , GHSA-76qp-h5mr-frr4
- cvss
- 8.8
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 1.1%
- EPSS 1.1% chance of exploitation in 30 days, percentile 66%
- public exploits
- 0
- none known
Summary
A possible security vulnerability has been identified in Apache Kafka. This requires access to a alterConfig to the cluster resource, or Kafka Connect worker, and the ability to create/modify connectors on it with an arbitrary Kafka client SASL JAAS config and a SASL-based security protocol, which has been possible on Kafka clusters since Apache Kafka 2.0.0 (Kafka Connect 2.3.0). When configuring the broker via config file or AlterConfig command, or connector via the Kafka Kafka Connect REST API, an authenticated operator can set the `sasl.jaas.config` property for any of the connector's Kafka clients to "com.sun.security.auth.module.LdapLoginModule", which can be done via the `producer.override.sasl.jaas.config`, `consumer.override.sasl.jaas.config`, or `admin.override.sasl.jaas.config` properties. This will allow the server to connect to the attacker's LDAP server and deserialize the LDAP response, which the attacker can use to execute java deserialization gadget chains on the Kafka connect server. Attacker can cause unrestricted deserialization of untrusted data (or) RCE vulnerability when there are gadgets in the classpath.
Since Apache Kafka 3.0.0, users are allowed to specify these properties in connector configurations for Kafka Connect clusters running with out-of-the-box configurations. Before Apache Kafka 3.0.0, users may not specify these properties unless the Kafka Connect cluster has been reconfigured with a connector client override policy that permits them.
Since Apache Kafka 3.9.1/4.0.0, we have added a system property ("-Dorg.apache.kafka.disallowed.login.modules") to disable the problematic login modules usage in SASL JAAS configuration. Also by default "com.sun.security.auth.module.JndiLoginModule,com.sun.security.auth.module.LdapLoginModule" are disabled in Apache Kafka Connect 3.9.1/4.0.0.
We advise the Kafka users to validate connector configurations and only allow trusted LDAP configurations. Also examine connector dependencies for vulnerable versions and either upgrade their connectors, upgrading that specific dependency, or removing the connectors as options for remediation. Finally, in addition to leveraging the "org.apache.kafka.disallowed.login.modules" system property, Kafka Connect users can also implement their own connector client config override policy, which can be used to control which Kafka client properties can be overridden directly in a connector config and which cannot.
Patch / fix
- maven org.apache.kafka:kafka_2.12 3.9.1
- maven org.apache.kafka:kafka_2.13 3.9.1
- bitnami kafka 3.9.1
- apache kafka 3.9.1
- org.apache.kafka kafka 3.9.1
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2025-27818 updated cvss 8.0
apache-kafka: Apache Kafka: Possible RCE attack via SASL JAAS LdapLoginModule configuration
-
Red Hat Streams for Apache Kafka 3.1.0fixed: vendor fix RHSA-2025:23417
-
Red Hat A-MQ Clients 2 kafka-clients Red Hat Logging Subsystem for Red Hat OpenShift kafka_2.11, kafka-clients Red Hat OpenShift Serverless openshift-serverless-1/kn-ekb-receiver-rhel8, openshift-serverless-1/kn-ekb-dispatcher-rhel8, openshift-serverless-1/kn-ekb-post-install-rhel8, openshift-serverless-1/kn-ekb-webhook-kafka-rhel8, openshift-serverless-1/kn-ekb-kafka-controller-rhel8, openshift-serverless-1/kn-eventing-istio-controller-rhel8 Red Hat build of Apache Camel 4 for Quarkus 3 quarkus-cxf-bom, quarkus-camel-bom Red Hat build of Apache Camel for Spring Boot 4 kafka_2.13, kafka-raft, connect-api, connect-file, connect-json, kafka-server, +11 more Red Hat build of Apicurio Registry 2 connect-api, connect-json, kafka-clients, kafka-streamsnot affected: vulnerable code not present
+15 more productsfewer
Red Hat build of Apicurio Registry 3 connect-api, connect-json, kafka-clients Red Hat build of Debezium 2 kafka_2.13, kafka-raft, connect-api, connect-file, connect-json, kafka-server, +9 more Red Hat build of Debezium 3 kafka_2.13, kafka-raft, connect-api, connect-file, connect-json, kafka-server, +11 more Red Hat build of Quarkus quarkus-bom Red Hat Data Grid 8 kafka-clients Red Hat Enterprise Linux 8 log4j, log4j-jcl, log4j-web, log4j-slf4j Red Hat Enterprise Linux 9 log4j, log4j-jcl, log4j-slf4j Red Hat Fuse 7 kafka, connect, kafka_2.12, kafka_2.13, kafka-raft, connect-api, +20 more Red Hat Integration Camel K 1 kafka_2.12, connect-api, kafka-tools, connect-file, connect-json, kafka-clients, +4 more Red Hat JBoss Enterprise Application Platform 7 kafka, connect, trogdor, generator, kafka_2.12, kafka_2.13, +39 more Red Hat JBoss Enterprise Application Platform 8 kafka, connect, trogdor, generator, kafka_2.12, kafka_2.13, +50 more Red Hat JBoss Enterprise Application Platform Expansion Pack kafka, connect, trogdor, generator, kafka_2.12, kafka_2.13, +50 more Red Hat Process Automation 7 kafka-clients Red Hat streams for Apache Kafka kafka, connect, trogdor, generator, kafka_2.13, kafka-raft, +45 more Red Hat streams for Apache Kafka 2 kafka, connect, trogdor, generator, kafka_2.13, kafka-raft, +53 more
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- total
- Assessed
- 14 mo ago
Exploit prediction
1.15% chance of exploitation in the next 30 days, higher than 66% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CISA ADP | 3.1 | 8.8 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| GitHub | 3.1 | 8.8 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| CNA | 3.1 | 8.8 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| OSV | 3.1 | 8.8 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| maven | org.apache.kafka:kafka_2.11 | >=2.3.0, <=2.4.1 |
no fix listed |
| maven | org.apache.kafka:kafka_2.12 | >=2.3.0, <3.9.1 |
3.9.1 |
| maven | org.apache.kafka:kafka_2.13 | >=2.4.0, <3.9.1 |
3.9.1 |
| bitnami | kafka | >=2.3.0, <3.9.1 |
3.9.1 |
Affected products
- Apache Software Foundation Apache Kafka
Classification
- Weakness
-
- CWE-502 Deserialization of Untrusted Data
References
-
kafka.apache.org
/cve-list
web, vendor-advisory, advisory
-
openwall.com
/lists/oss-security/2025/06/09/2
web, mailing-list, third-party-advisory, advisory
-
nvd.nist.gov
/vuln/detail/CVE-2025-27818
advisory, web
-
github.com
/apache/kafka
package
Sources
- CVE List CVE-2025-27818
- GitHub Advisory GHSA-76qp-h5mr-frr4
- NVD CVE-2025-27818
- OSV BIT-kafka-2025-27818
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.