Zero Radar
← feed
HighVulnerabilityCVE-2026-110985updated 28 Oct 2026, 17:36 UTC

Apache Kafka accepts forged login tokens when OAuth JWKS URL is not set

Kafka brokers using OAuth-style logins can end up accepting login tokens without checking they are genuine. An attacker could then fake a token and gain full control of the cluster.

Fix availableOfficial, 2 sources
SeverityHighVulnerability
Being exploited?UnclearNo reports either way yet
Fix available?YesApache Kafka 4.2.2, 4.3.1, and 4.4.0 (brokers that would fall back to the non-verifying validator now fail to start with a ConfigException). Mitigation on all affected versions: set sasl.oauthbearer.jwks.endpoint.url or configure a signature-verifying validator class. · since 28 Oct 2026
How sure is this?Official, 2 sourcesBacked by an official source

How the attack works simplified

  1. 1Attacker forges tokenCrafts JWT with alg:none
  2. 2Connects to listenerReaches broker over the network
  3. 3Broker skips verificationNo JWKS URL, no signature check
  4. 4Impersonates superuserForged principal is accepted
  5. 5Full cluster accessAttacker controls the cluster
  6. ResultAttacker gains full cluster control

What happened

With SASL/OAUTHBEARER and the default validator, if sasl.oauthbearer.jwks.endpoint.url is unset, the broker falls back to ClientJwtValidator, which skips JWT signature, algorithm and issuer verification, and it starts silently. This is a residual of CVE-2026-33557.

Why it is dangerous: An unauthenticated remote attacker who can reach the listener can forge a token (including alg:none) claiming any principal, including configured superusers, and gain full cluster access.

Are you affected?

You are affected if your Kafka brokers use SASL/OAUTHBEARER with the default DefaultJwtValidator, do not set sasl.oauthbearer.jwks.endpoint.url, and do not use a custom verification key resolver.

Apache Kafka 4.1.0 through 4.1.2; 4.2.0 through 4.2.1; 4.3.0

What to do

  1. Set sasl.oauthbearer.jwks.endpoint.url for every listener using OAuthBearerValidatorCallbackHandler, or configure a signature-verifying sasl.oauthbearer.jwt.validator.class
  2. Upgrade Kafka to 4.2.2, 4.3.1, or 4.4.0 or later
  3. Verify brokers fail to start if the JWKS URL is missing, confirming the secure default is active

Timeline

  1. 28 Oct 2026, 17:17 UTC
    Publicly disclosed
  2. 28 Oct 2026, 17:27 UTC
    Reported by oss-security · oss-security
  3. 28 Oct 2026, 17:32 UTC
    Picked up by Zero Radar
  4. 28 Oct 2026, 17:36 UTC
    NVD reported on it · NVD

Sources 2 reports, oldest first

Official vendor, government CERT or advisory database

Security researchers research teams and mailing lists

Technical details

ID
CVE-2026-110985
Disclosed
28 Oct 2026, 17:17 UTC
On Zero Radar
28 Oct 2026, 17:32 UTC (14 min after disclosure)
Last change
28 Oct 2026, 17:36 UTC

The plain-language parts and the attack diagram were written by an AI model (anthropic/claude-haiku-5.5) from the sources above. Facts like versions, exploitation and dates come from the sources themselves. How Zero Radar works

Apache Kafka accepts forged login tokens when OAuth JWKS URL is not set · Zero Radar