Research · Kafka

The Kafka CVE Register, 2026 Edition: Every Apache Kafka Vulnerability by Version

Apache Kafka is the streaming platform behind many data pipelines, so a Kafka security vulnerability is rarely a small one. This register consolidates every vulnerability on Apache's own Kafka CVE list, scores each from NVD and maps it to the release series it affects. Each row was checked against kafka.apache.org and NVD on 28 October 2026. It is written for the engineer who has to answer one question before a change window: is the Kafka version we run fixed, and if not, will a fix ever arrive?

Tyler Eastridge

By Tyler Eastridge, Head of Operations

LinkedIn · Updated · 18 min read · 13 sections

On this page
22advisories on Apache's Kafka CVE list that affect Kafka, announced July 2018 to June 2026
4announced in 2026, between 7 April and 2 June; none added to Apache's list since, as of 28 October 2026
9.1CVSS score of CVE-2026-33557, the OAUTHBEARER validator that accepted any JWT on Kafka 4.1.0 and 4.1.1; fixed in 4.1.2 and 4.2.0
4 of 4non-Log4j CVEs that affect Kafka 3.9 are fixed in 3.9.1 or 3.9.2; 3.6 to 3.8 carry 4 to 6 with no fix on their own line
What the register shows

What the register shows

22 advisories in eight years, and 4 of them in the first half of 2026. Two score Critical: CVE-2026-33557, where the broker's default JWT validator accepted any OAUTHBEARER token on Kafka 4.1.0 and 4.1.1, and CVE-2022-23305, a SQL injection in the Log4j 1.x JDBCAppender that older Kafka releases bundle. 13 are High and 7 Medium. The clients and the authentication layer account for most of the recent rows: three of the four 2026 CVEs are in kafka-clients or the broker's SASL handling, and CVE-2026-35554 can deliver a producer's messages to the wrong topic without any error.

The release-series view matters more than the count. Kafka 3.9 is covered: every non-Log4j CVE that affects it is fixed in 3.9.1 or 3.9.2, the last 3.x release. Kafka 3.6, 3.7 and 3.8 are not: each has four to six CVEs whose fixes sit only on later lines, and none of the three will get another release. Kafka 4.2, 4.3 and 4.4, the three releases Apache supports on 28 October 2026, have no unfixed code CVEs on Apache's list. Apache's list does not cover advisories in Kafka's dependencies in general, so a scanner will flag more than this register does.

Severity distribution of Kafka vulnerabilities

Severity is the CVSS v3 base score published through NVD: Apache's score where the Apache Software Foundation is the CVE's naming authority, which covers every row from 2024 on, and NVD's own primary score for the older ones. Apache's list itself gives no scores. Where two sources disagree this register keeps Apache's: CVE-2026-33557 is 9.1 Critical from Apache and 8.6 High from a second source. The two Critical rows are one live Kafka flaw and one in a bundled logging library.

Apache Kafka CVEs by severity, July 2018 to June 2026
SeverityCVEsShare
Critical29%
High1359%
Medium732%
Low00%
Table · Apache Kafka CVEs by severity, July 2018 to June 2026. Scroll sideways on small screens.

Kafka vulnerabilities by year

Disclosure has run at one to four a year, and it comes in clusters: three Log4j 1.x advisories on 18 January 2022, three SASL and client advisories on 9 June 2025, and four between 7 April and 2 June 2026. The broker and its authentication code carry the most rows, but the recent ones sit in the clients, which every application embeds and patches on its own schedule.

Apache Kafka CVEs by announcement year
YearCVEs announced
20264
20253
20243
20232
20224
20212
20201
20191
20182
Table · Apache Kafka CVEs by announcement year. Scroll sideways on small screens.

Which component the vulnerability is in

The component decides who has to patch. A broker or Connect fix is an upgrade of the cluster. A kafka-clients fix means every producer and consumer application has to rebuild with a newer library, which is why CVE-2026-35554 and CVE-2026-33558 outlive the broker upgrade in many estates. The four Log4j 1.x rows are a bundled library, and Kafka 4.0 moved to Log4j 2, so they apply to 3.x and earlier.

Apache Kafka CVEs by component
ComponentCVEsShare
Broker1045%
Clients418%
Connect418%
Log4j 1.x418%
Table · Apache Kafka CVEs by component. Scroll sideways on small screens.

The kinds of Kafka security vulnerability on the list

The 22 entries fall into six kinds of security vulnerability, and the kind tells you what an attacker needs before the flaw matters.

  • Remote code execution through SASL JAAS login modules. CVE-2023-25194, CVE-2025-27819 and CVE-2025-27818 let a user who can set a SASL-based security protocol configuration point sasl.jaas.config at a JNDI or LDAP login module. On the Kafka Connect server that can end in unrestricted deserialization of untrusted data, with gadget chains on the Kafka Connect classpath turning it into remote code execution. Each needs write access to connector or cluster configuration, so the exposure is REST API access to Kafka Connect and who can reach it; reconfigure the worker so that only trusted operators can create connectors, and review every Kafka cluster that exposes the API.
  • Server-side request forgery (SSRF) and arbitrary file read. This vulnerability was identified in Apache Kafka clients: CVE-2025-27817 and CVE-2024-31141 let an untrusted party who controls Kafka client configuration read files and environment variables, or make requests to unintended places, through sasl.oauthbearer.token.endpoint.url, sasl.oauthbearer.jwks.endpoint.url and the ConfigProvider classes. Apache Kafka clients accept configuration data that Connect passes through from its REST API, so they matter most where Kafka Connect or a SaaS product accepts client configuration from users.
  • Authentication and authorization weaknesses. CVE-2026-33557 (forged JWT accepted), CVE-2024-56128 (SCRAM replay), CVE-2018-17196 (ACL bypass for transactions), CVE-2017-12610 (impersonation), CVE-2024-27309 (ACLs ignored during a ZooKeeper to KRaft migration), CVE-2021-38153 (timing attack on credential checks), CVE-2018-1288 (replication interference) and CVE-2026-41115 (a group describe permission that the documentation described wrongly).
  • Denial of service. CVE-2022-34917 lets unauthenticated clients exhaust broker memory, and CVE-2023-34455 does the same through a Snappy-compressed record from any user who can produce.
  • Information exposure and data integrity. CVE-2026-33558 and CVE-2019-12399 leak credentials and secrets, and CVE-2026-35554 can deliver messages to the wrong topic. The client-side rows are fixed only when each application's own kafka-clients jar is upgraded, not by upgrading the Kafka brokers.
  • Bundled logging library. The four Log4j 1.x entries (CVE-2021-4104, CVE-2022-23302, CVE-2022-23305 and CVE-2022-23307) need control over logging appenders or configuration and have no Kafka fix; Kafka 4.0 moved to Log4j 2.

Where a row names a system property, Apache gives it as the mitigation for users who cannot upgrade yet: org.apache.kafka.disallowed.login.modules, org.apache.kafka.sasl.oauthbearer.allowed.urls and org.apache.kafka.automatic.config.providers.

Remote code execution in Kafka Connect: CVE-2023-25194, CVE-2025-27818 and CVE-2025-27819

Three Kafka vulnerabilities are remote code execution (RCE) bugs reached through the SASL JAAS configuration. CVE-2023-25194 sits in the Kafka Connect API, and CVE-2025-27818 and CVE-2025-27819 extend the same attack to the brokers. All three need an authenticated user who can set a Kafka client SASL JAAS config, so the risk sits with whoever can create or modify connectors or alter cluster configuration, not with anonymous clients. The table is taken from the Apache Kafka CVE list.

To check a Kafka Connect worker, work through four steps. First, compare the worker version with the table. Second, look for producer.override.sasl.jaas.config, consumer.override.sasl.jaas.config and admin.override.sasl.jaas.config in connector configurations, because those are the properties an operator uses to set a login module. Third, confirm the login modules are disabled: Kafka 3.4.0 added the system property -Dorg.apache.kafka.disallowed.login.modules and disabled JndiLoginModule by default, and Kafka 3.9.1 and 4.0.0 disable both JndiLoginModule and LdapLoginModule by default. Fourth, limit who holds AlterConfigs on the cluster resource and who can call the Connect REST API.

Apache's advisory also explains why the Connect exposure depends on the version. Since Kafka 3.0.0, users can set these override properties on a Connect cluster running its out-of-the-box configuration. Before 3.0.0 they could not, unless the cluster was configured with a connector client override policy that permits them. Apache advises Connect users to validate connector configurations, allow only trusted JNDI configurations, and examine connector dependencies for vulnerable versions, upgrading the connector or the dependency. Its upgrade advice for the 2025 entries is to move to 3.9.1 or later.

Kafka RCE vulnerabilities through SASL JAAS login modules, as listed by Apache
CVEComponent and login moduleVersions affectedFixed inWhat the attacker needs
CVE-2023-25194Kafka Connect API (connect-api, connect-runtime), JndiLoginModule2.3.0 to 3.3.23.4.0Access to a Kafka Connect worker and the ability to create or modify connectors with an arbitrary SASL JAAS config
CVE-2025-27819Apache Kafka brokers, JndiLoginModule2.0.0 to 3.3.23.9.1 and 4.0.0A connection to the cluster and the AlterConfigs permission on the cluster resource
CVE-2025-27818Apache Kafka brokers and Kafka Connect, LdapLoginModule2.3.0 to 3.9.03.9.1 and 4.0.0AlterConfigs on the cluster resource, or a Connect worker and the ability to create or modify connectors
Table · Kafka RCE vulnerabilities through SASL JAAS login modules, as listed by Apache. Scroll sideways on small screens.

Kafka client file read and SSRF: CVE-2025-27817 and CVE-2024-31141

CVE-2025-27817 lets an untrusted party who controls Kafka client configuration read files and environment variables, or send requests to an unintended location, through sasl.oauthbearer.token.endpoint.url and sasl.oauthbearer.jwks.endpoint.url. Apache lists it as affecting versions 3.1.0 to 3.9.0, fixed in 3.9.1 and 4.0.0. In Kafka Connect it can escalate access to the REST API into access to the filesystem, environment and URLs, which matters most where users other than your own team can submit connector configurations, such as a SaaS product. To configure the fix, set the JVM system property -Dorg.apache.kafka.sasl.oauthbearer.allowed.urls. In 3.9.1 it accepts all URLs by default for backward compatibility, and in 4.0.0 and later the default is an empty list, so you must list the allowed URLs explicitly. Apache's advice is to upgrade to 3.9.1 or later and set that property. See the Apache Kafka CVE list entry for CVE-2025-27817.

15-minute emergency SLA. Named senior engineers.

Contact Us

Exposure by release series

Each row counts the code CVEs in this register that affected a release of that series, how many a later release in the same series fixed, and how many have no fix on that line. The count leaves out the four Log4j 1.x rows, which have no Kafka fix on any release (the mitigation is removing the class from the jar), and CVE-2026-41115, which is a documentation correction. A series that shipped after a fix landed, such as 4.2 for the 4.1 bugs, is not counted as affected. The "no fix in the series" column is the one to read: on an archived line it is permanent, because the project only fixes its last three releases.

Kafka release series: Apache support status and CVE exposure in this register, 28 October 2026
SeriesApache statusLatest releaseCVEs affecting the seriesFixed in the seriesNo fix in the series
Kafka 3.6Archived3.6.2716
Kafka 3.7Archived3.7.2624
Kafka 3.8Archived3.8.1514
Kafka 3.9Archived (last 3.x release; last to support ZooKeeper)3.9.2 (21 Feb 2026)440
Kafka 4.0Archived4.0.2 (16 Mar 2026)220
Kafka 4.1Archived4.1.2 (17 Mar 2026)220
Kafka 4.2Supported4.2.2 (29 Sep 2026)000
Kafka 4.3Supported4.3.2 (23 Oct 2026)000
Kafka 4.4Supported4.4.0 (22 Oct 2026)000
Table · Kafka release series: Apache support status and CVE exposure in this register, 28 October 2026. Scroll sideways on small screens.

The complete register, most recent first

Affected and fixed versions are quoted from Apache's CVE list. A fixed version is the floor, not the target: later releases on the same line include every earlier fix. Rows from the same announcement day keep Apache's order. CVE-2021-44228 and CVE-2021-45046 (Log4j 2.x) are on Apache's list as not affecting Kafka, which uses Log4j 1.2.17 up to 3.9 and moved to Log4j 2 in 4.0; check any connector plugin that bundles its own Log4j 2.x jar. Kafka-adjacent software is covered in a separate table below.

All 22 Apache Kafka CVEs in this register
CVEAnnouncedSeverity (CVSS v3, source)ComponentSummaryAffected versionsFixed in
CVE-2026-411152026-06-024.3 Medium (ASF)Broker (group coordinator)CONSUMER_GROUP_DESCRIBE checks DESCRIBE on the group, not the READ permission that the documentation and KIP-848 described. Apache says the code is correct and corrected the documentation instead.4.0.0 to 4.3.0No code change; review group ACLs
CVE-2026-335582026-04-175.3 Medium (ASF)kafka-clientsNetworkClient logs whole requests and responses at DEBUG level, exposing SASL authentication, delegation token and config-change payloads when DEBUG is on.0.11.0 to 3.9.1, 4.0.03.9.2, 4.0.1, 4.1.0
CVE-2026-335572026-04-179.1 Critical (ASF)Broker (OAUTHBEARER)With OAUTHBEARER enabled, the default JWT validator accepted any token without checking signature, issuer or audience, so a forged token naming any user was accepted. A second CNA scores it 8.6 High.4.1.0 to 4.1.14.1.2, 4.2.0
CVE-2026-355542026-04-078.7 High (ASF)kafka-clients (producer)A buffer pool race can deliver messages to the wrong topic, with no error, when a batch expires while its network request is still in flight.2.8.0 to 3.9.1, 4.0.0 to 4.0.1, 4.1.0 to 4.1.13.9.2, 4.0.2, 4.1.2, 4.2.0
CVE-2025-278192025-06-097.5 High (ASF)Broker (SASL JAAS)A JndiLoginModule in a SASL JAAS config allows remote code execution or denial of service for a user who can connect and holds AlterConfigs on the cluster. Apache disabled JndiLoginModule by default in 3.4.0 and both JNDI and LDAP modules by default in 3.9.1 and 4.0.0.2.0.0 to 3.3.2 (as listed by Apache)3.9.1, 4.0.0
CVE-2025-278182025-06-098.8 High (ASF)Kafka Connect (SASL JAAS)An LdapLoginModule in a SASL JAAS config lets a user who can create connectors trigger Java deserialization and possible remote code execution.2.3.0 to 3.9.03.9.1, 4.0.0
CVE-2025-278172025-06-097.5 High (ASF)kafka-clients (OAUTHBEARER)OAUTHBEARER endpoint URLs in client config can be used to read arbitrary files or make server-side requests, which Connect exposes to REST API users. 4.0.0 and later default the allowed-URL list to empty; 3.9.1 accepts all URLs for compatibility.3.1.0 to 3.9.03.9.1, 4.0.0
CVE-2024-561282024-12-185.3 Medium (ASF)Broker (SCRAM)SCRAM did not validate the client nonce, so a SCRAM exchange that an attacker can read in plaintext can be replayed. Deployments using SCRAM over TLS are not affected.0.10.2.0 to 3.7.1, 3.8.03.7.2, 3.8.1, 3.9.0
CVE-2024-311412024-11-186.5 Medium (ASF)kafka-clientsThe file, directory and environment-variable ConfigProviders let an untrusted party who controls client config read files and environment variables.2.3.0 to 3.7.03.7.1, 3.8.0
CVE-2024-273092024-04-127.4 High (ASF)Broker (ZooKeeper to KRaft migration)During a ZooKeeper to KRaft migration, removing an ACL can leave a resource enforced as if it had one ACL, so DENY rules can be ignored until migration finishes.3.5.0 to 3.6.13.6.2
CVE-2023-344552023-07-057.5 High (NVD)Broker (snappy-java)A malicious Snappy-compressed record can exhaust broker memory through the bundled snappy-java library, a denial of service by any user who can produce.0.8.0 to 3.5.03.5.1
CVE-2023-251942023-02-088.8 High (NVD)Kafka Connect APIConnector config overrides allow a JndiLoginModule in a SASL JAAS config, giving denial of service or remote code execution to a user who can create connectors.2.3.0 to 3.3.23.4.0
CVE-2022-349172022-09-197.5 High (NVD)BrokerUnauthenticated clients can make a broker allocate large amounts of memory and hit OutOfMemoryError.2.8.0 to 2.8.1, 3.0.0 to 3.0.1, 3.1.0 to 3.1.1, 3.2.0 to 3.2.12.8.2, 3.0.2, 3.1.2, 3.2.3
CVE-2022-233072022-01-188.8 High (NVD)Bundled Log4j 1.x (Chainsaw)Chainsaw in Log4j 1.x deserializes untrusted data from malicious log entries.All versions Apache listedNo Log4j 1.x release; remove the class from the jar
CVE-2022-233052022-01-189.8 Critical (NVD)Bundled Log4j 1.x (JDBCAppender)JDBCAppender in Log4j 1.x allows SQL injection when configured with certain interpolation tokens.All versions Apache listedNo Log4j 1.x release; remove the class from the jar
CVE-2022-233022022-01-188.8 High (NVD)Bundled Log4j 1.x (JMSSink)JMSSink in Log4j 1.x can make JNDI requests that lead to remote code execution if an attacker controls the Log4j configuration.All versions Apache listedNo Log4j 1.x release; remove the class from the jar
CVE-2021-41042021-12-097.5 High (NVD)Bundled Log4j 1.x (JMSAppender)JMSAppender in Log4j 1.x can lead to remote code execution if an attacker can change the JNDI binding configuration. Used by the broker, controller, ZooKeeper, Connect, MirrorMaker and tools.All versions Apache listedNo Log4j 1.x release; remove the class from the jar
CVE-2021-381532021-09-215.9 Medium (NVD)Kafka Connect and clientsPassword and key checks used Arrays.equals, which is open to timing attacks that make brute force easier.2.0.0 to 2.8.02.6.3, 2.7.2, 2.8.1, 3.0.0 and later
CVE-2019-123992020-01-137.5 High (NVD)Kafka Connect REST APIThe tasks endpoint can return plaintext secrets when an externalized secret is used inside a larger connector config value.2.0.0 to 2.3.02.2.2, 2.3.1 and later
CVE-2018-171962019-07-108.8 High (NVD)BrokerA client with Write permission can craft a Produce request that bypasses transaction and idempotent ACL validation. NVD scores this under CVSS 3.0.0.11.0.0 to 2.1.02.1.1 and later
CVE-2018-12882018-07-265.4 Medium (NVD)Broker (replication)An authenticated client can send broker-only fetch requests that interfere with replication, with possible data loss.0.9.0.0 to 0.9.0.1, 0.10.0.0 to 0.10.2.1, 0.11.0.0 to 0.11.0.2, 1.0.00.10.2.2, 0.11.0.3, 1.0.1, 1.1.0
CVE-2017-126102018-07-266.8 Medium (NVD)Broker (SASL PLAIN and SCRAM)An authenticated client can impersonate other users with crafted protocol messages when the built-in PLAIN or SCRAM servers are used. NVD scores this under CVSS 3.0.0.10.0.0 to 0.10.2.1, 0.11.0.0 to 0.11.0.10.10.2.2, 0.11.0.2, 1.0.0
Table · All 22 Apache Kafka CVEs in this register. Scroll sideways on small screens.

The rows that matter on a 2026 upgrade

CVE-2026-33557 (OAUTHBEARER, 4.1.0 and 4.1.1). Brokers that enabled OAUTHBEARER on 4.1.0 or 4.1.1 accepted a JWT from any issuer, with any user in preferred_username. Apache's advice is to set sasl.oauthbearer.jwt.validator.class to org.apache.kafka.common.security.oauthbearer.BrokerJwtValidator explicitly or upgrade to 4.1.2, 4.2.0 or later. Kafka 4.4 goes further: the broker now fails at startup when a JWKS endpoint is configured but the expected audience or issuer is not set, per the 4.4 upgrade notes.

CVE-2026-35554 (producer misrouting, up to 4.1.1). It needs a batch to expire on delivery.timeout.ms while its request is still in flight. The client reports no error. It is the CVE most likely to survive a broker upgrade, because it lives in the application's kafka-clients jar: 3.9.2, 4.0.2, 4.1.2 and 4.2.0 or later fix it.

CVE-2024-27309 (ZooKeeper to KRaft migration, 3.5.0 to 3.6.1). Removing an ACL during a migration can leave DENY rules ignored. Anyone planning the move should be on 3.6.2 or later, and Apache's current migration instructions require 3.9.1 anyway. The step-by-step migration runbook covers the sequence.

CVE-2026-41115 (consumer group describe, 4.0.0 to 4.3.0). Not a code defect by Apache's account: the API checks DESCRIBE on the group, and the documentation and KIP-848 said READ. Apache's advice is to review existing group ACLs against least privilege. The list shows the affected range as the fixed range, because the change was to the documentation.

Kafka-adjacent software with CVEs in 2026

Scanners also flag software that runs around Kafka, and it is not on Apache's list. The table below is the result of an NVD keyword search for "kafka" for CVEs published between 1 June and 28 October 2026, limited to Kafka-specific products. It is not exhaustive, scores are the highest NVD shows for the product, and the vendors' own advisories are the authority on fixed versions. Cloud services such as Confluent Cloud and Amazon MSK patch on their own schedule and are out of scope.

Kafka-adjacent products with CVEs published 1 June to 28 October 2026 (NVD keyword search)
ProductCVEs and publication datesHighest score shownWhat NVD describes
Spring for Apache KafkaCVE-2026-41726, 41727, 41731 (10 Jun); CVE-2026-59278, 59317 (27 Aug)8.1 High (CVE-2026-41731)Header handling in consumers and retry topics: unbounded heap growth with DelegatingDeserializer, crafted retry headers, and deserialization of unexpected JDK types. Affects Spring for Apache Kafka 2.8 to 4.1; see the Spring advisories for fixed versions.
kafka-pythonCVE-2026-10142, 10143 (10 Jun)7.5 HighA malicious broker or network attacker can exhaust client memory or freeze the client with an oversized frame or SCRAM iteration count. Fixed in 2.3.2.
Splunk Connect for KafkaCVE-2026-76400 to 76403 (19 Aug)8.2 High (CVE-2026-76402)Unauthenticated access to the Connect REST API can stall delivery or send credentials to an attacker-controlled endpoint. Fixed in 2.2.7.
StrimziCVE-2026-55225, 55226 (15 Sep)8.0 High (CVE-2026-55225)Kubernetes RBAC: a user who can create a Kafka resource can gain Secret access in another namespace. Affects Strimzi 1.0.0 and earlier.
StreamsHub Console for Apache KafkaCVE-2026-96740 (28 Sep); CVE-2026-105311, 105312 (20 Oct)9.9 Critical (CVE-2026-105312)A Kubernetes tenant who can create Console resources can read other namespaces' Kafka credentials or run a chosen image with cluster-wide Strimzi access.
Confluent Kafka Python clientCVE-2026-15911 (1 Oct)7.4 HighImproper TLS certificate validation in the HashiCorp Vault KMS integration.
KlawCVE-2026-44367, 45080 (2 Jun)6.9 Medium (CVE-2026-45080)Account lockout and password-hash disclosure in the topic governance portal. Fixed in 2.10.4.
EFAK, CMAK and kafka-uiCVE-2026-111681 (16 Oct); CVE-2026-92778 (16 Sep); CVE-2026-78166 (24 Aug)8.8 High (CVE-2026-111681)Management UIs: missing authorization in EFAK 5.1.0 and earlier, a feature-gate bypass in CMAK 3.0.0.6 and earlier, and code injection in kafka-ui 0.7.2 and earlier with no vendor response when NVD recorded it.
Table · Kafka-adjacent products with CVEs published 1 June to 28 October 2026 (NVD keyword search). Scroll sideways on small screens.

What this means for versions past end of support

Apache fixes its last three releases and nothing older, and the register shows what that costs. A cluster on 3.8 or earlier cannot get the fixes for CVE-2025-27817, CVE-2025-27818, CVE-2026-33558 or CVE-2026-35554 from the project, because they exist only in 3.9.1 and later. A cluster on 3.9 is covered to 3.9.2 but cannot move to 4.x without first migrating from ZooKeeper to KRaft. Kafka 4.1.2, archived but protected against everything listed here, will not receive a fix for whatever is disclosed next.

Where an upgrade cannot happen before the next disclosure, the options are a backport or compensating controls. Apache's advisories carry workarounds for many rows: keep SCRAM on TLS, set org.apache.kafka.disallowed.login.modules, set org.apache.kafka.sasl.oauthbearer.allowed.urls, pin the OAUTHBEARER validator class, and set org.apache.kafka.automatic.config.providers=none where untrusted users control client config. AceMQ's OSSeva service publishes patched builds of Apache Kafka 3.9, 3.8, 3.7, 3.6, 3.3, 3.0 and 2.8 after upstream support ends, per its site on 28 October 2026. Its Kafka page tracks CVEs in bundled dependencies as well, a wider scope than this register. For incident response and upgrade planning on the version you run, see Kafka support.

Turning the register into a patch decision

Three questions rank any row for a given estate. Is an affected series running in your estate? Check broker, Connect and every application's kafka-clients version separately; they rarely match. Is the vulnerable surface exposed? Several rows need a specific precondition: OAUTHBEARER enabled, SASL JAAS configured by users, DEBUG logging on, SCRAM without TLS, or a migration in progress. Confirm it applies before treating every row as equally urgent. Is the fixed version current? The fixed column is a floor; the target is the latest patch release on a supported line, which on 28 October 2026 is 4.4.0, 4.3.2 or 4.2.2.

The production readiness checklist turns the security rows into checks 25 to 28.

How this register is maintained

Sources. Apache's Kafka CVE list, last modified 2 June 2026, for IDs, announcement dates and affected and fixed versions; NVD for every CVE's CVSS v3 score and publication record; the Apache Kafka downloads page for the release list and supported releases; the 4.4 upgrade notes for the OAUTHBEARER startup check and the Log4j 2 move in 4.0. Descriptions in the register's Summary column are AceMQ's wording of Apache's advisories.

Scope. The 22 CVEs on Apache's list that affect Apache Kafka, announced between 26 July 2018 and 2 June 2026. Two Log4j 2.x entries on the list that Apache says do not affect Kafka are excluded. Advisories in dependencies, in Confluent Platform, and in managed services are out of scope; Apache keeps a separate dependency page. The series counts use the releases listed on the downloads page on 28 October 2026.

Date checked. 28 October 2026. A search of NVD for "kafka" found no new Apache Kafka CVE published after CVE-2026-41115 on 2 June 2026. New advisories publish without notice, so check Apache's live list before a compliance submission. This page is re-issued when Apache adds an entry.

Frequently asked questions

How many Apache Kafka CVEs are there?

22 on Apache's own Kafka CVE list that affect Kafka, announced between July 2018 and June 2026: 2 Critical, 13 High and 7 Medium by CVSS v3. Four were announced in 2026, between 7 April and 2 June. Apache lists two further Log4j 2.x entries as not affecting Kafka.

What is CVE-2026-33557?

A missing token validation flaw in Kafka's OAUTHBEARER authentication, announced on 17 April 2026 and scored 9.1 Critical by Apache. On Kafka 4.1.0 and 4.1.1 the broker's default JWT validator accepted any token without checking its signature, issuer or audience. It is fixed in 4.1.2 and 4.2.0, and Apache's workaround is to set sasl.oauthbearer.jwt.validator.class to BrokerJwtValidator explicitly.

Which Kafka versions are vulnerable?

It depends on the CVE. Of the Kafka 3.x lines, 3.9.2 is the last release and carries fixes for every non-Log4j CVE that affects 3.9, while 3.6, 3.7 and 3.8 have four to six CVEs whose fixes are only on later lines. Kafka 4.2, 4.3 and 4.4 have no unfixed code CVEs on Apache's list. Kafka 4.0 and 4.1 are fixed through 4.0.2 and 4.1.2 but are no longer maintained.

Is Kafka affected by Log4Shell?

No. Apache lists CVE-2021-44228 as not affecting Kafka, because Kafka used Log4j 1.2.17, which lacks the vulnerable lookup feature, and Kafka 4.0 moved to Log4j 2 in a version after the fix. Connector plugins can bundle their own Log4j 2.x jar, so check each plugin with its vendor. Four other Log4j 1.x CVEs do affect Kafka 3.x and earlier, with no Kafka fix.

Are there Kafka CVEs that affect the producer or consumer client?

Yes. CVE-2026-35554 can deliver producer messages to the wrong topic and is fixed in kafka-clients 3.9.2, 4.0.2, 4.1.2 and 4.2.0. CVE-2026-33558 logs sensitive request data at DEBUG level and is fixed in 3.9.2, 4.0.1 and 4.1.0. CVE-2025-27817 and CVE-2024-31141 let untrusted client configuration read files or environment variables.

Can I cite this register?

Yes, with attribution to AceMQ and a link to this page. Every row is taken from Apache's Kafka CVE list and NVD; check them before a compliance submission, since advisories publish on an ongoing basis.

Free Consultation

Get Expert Eyes on Your Kafka Cluster

Whether you're troubleshooting a production incident, planning a migration, or want a second opinion on your architecture — our team is ready. No pitch, just answers.

Email Us