Skip to main content

Apache Kafka CVE-2026-110985

| EUVDEUVD-2026-112207 HIGH
Insufficient Verification of Data Authenticity (CWE-345)
2026-10-28 apache GHSA-j27v-m9ww-p89m
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Reach OAUTHBEARER listener on affected broker
  2. Exploit
    Forge JWT (e.g. alg:none) asserting superuser principal
  3. Execution
    Broker accepts unverified token as authenticated
  4. Impact
    Gain full read/write/admin access to cluster

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A08:2025 - Software or Data Integrity Failures
ASVS 5.0
V15 - Secure Coding and Architecture Data authenticity verification
Exploitation Conditions

Exploitation requires a Kafka broker configured with SASL/OAUTHBEARER using OAuthBearerValidatorCallbackHandler and the default DefaultJwtValidator (sasl.oauthbearer.jwt.validator.class=DefaultJwtValidator), where sasl.oauthbearer.jwks.endpoint.url is left unset (the default) AND no custom verification key resolver is supplied - this combination causes the silent fallback to the non-verifying ClientJwtValidator. The attacker must have network reachability to the affected OAUTHBEARER listener. Brokers that set sasl.oauthbearer.jwks.endpoint.url, or configure a signature-verifying validator class, verify JWT signatures and are NOT affected; this is the key limiting factor, since the vulnerability depends on this specific OAUTHBEARER-without-JWKS-URL configuration rather than on any default Kafka install. On versions 4.2.2, 4.3.1, and 4.4.0 and later, a broker that would fall back to ClientJwtValidator refuses to start (ConfigException), so the vulnerable state cannot exist there.

Impact

No official CVSS score or vector is provided (CVSS: N/A), and no EPSS probability, KEV listing, or PoC reference is present in the input, so the quantitative exploitation signals are absent and cannot be compared. The strongest available signal is the vuln.today Decision label of 'this_week' combined with the vendor's own technical description, which together describe a complete authentication bypass: when SASL/OAUTHBEARER is enabled with DefaultJwtValidator and no JWKS endpoint URL (the default) and no custom verification key resolver, the broker silently falls back to ClientJwtValidator and verifies no signature, algorithm, or issuer, accepting even 'alg':'none' tokens. On an affected broker this is a critical, trivially exploitable flaw - an unauthenticated remote attacker who can reach the listener can forge a token for any principal including superusers and take over the cluster. The important qualifier is that this is config-dependent, not universal: only brokers that enable OAUTHBEARER validation WITHOUT a JWKS endpoint URL and without a custom resolver are affected, so real-world exposure depends on deployment configuration rather than on the mere presence of Kafka. This is a genuine high-priority issue for the affected configuration subset, not a high-CVSS-but-low-real-risk case; however, the absence of EPSS/KEV/PoC data means there is no evidence of active or at-scale exploitation at time of analysis, so prioritization rests on severity and ease of exploitation rather than observed attacks.

Exploit ScenarioDerived

An attacker with network reachability to a Kafka broker whose OAUTHBEARER listener runs DefaultJwtValidator without a configured JWKS endpoint URL crafts a structurally valid JWT (for example one using 'alg':'none') asserting a configured superuser principal. Because the fallback ClientJwtValidator performs no signature, algorithm, or issuer verification, the broker accepts the forged token and grants full cluster access. No public exploit was identified at time of analysis, and the trigger mechanism (forging a JWT) is described directly in the vendor advisory.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 28, 2026

Apache Kafka brokers that run SASL/OAUTHBEARER with the default DefaultJwtValidator and leave sasl.oauthbearer.jwks.endpoint.url unset silently fall back to a validator that performs no JWT signature, algorithm, or issuer checks, allowing unauthenticated remote attackers with listener reachability to forge tokens for arbitrary principals, including configured superusers, and gain full cluster access. The flaw is a residual of CVE-2026-33557 and only affects brokers in this specific OAUTHBEARER-without-JWKS-URL configuration with no custom verification key resolver; brokers that set the JWKS URL verify signatures and are not affected. No CISA KEV listing or public exploit code is identified in the available data, no public exploit identified at time of analysis, and no EPSS score is provided.

RemediationAI

Set sasl.oauthbearer.jwks.endpoint.url for every listener/mechanism that uses OAuthBearerValidatorCallbackHandler, or configure a signature-verifying sasl.oauthbearer.jwt.validator.class; either change removes the silent fallback to ClientJwtValidator. Upgrade to Apache Kafka 4.2.2, 4.3.1, or 4.4.0, where a broker that would fall back to ClientJwtValidator fails to start with a ConfigException instead of running without signature verification (secure by default). Fixes and advisory details are listed at https://kafka.apache.org/cve-list. No upgrade is required to apply the configuration mitigation on affected versions.

Affected VersionsENISA

Apache Kafka 4.2.0 ≤4.2.1
Apache Kafka 4.1.0 ≤4.1.2
Apache Kafka 4.3.0

Affected Packages

euvd apache_kafka no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Apache Kafka's SASL/OAUTHBEARER authentication path relies on a configurable JWT validator, and this issue is a CWE-345 insufficient verification of data authenticity flaw in that selection logic. The DefaultJwtValidator chooses its implementation from configuration: when sasl.oauthbearer.jwks.endpoint.url is set, it verifies the JWT signature; when that URL is unset (the default) and no verification key resolver is supplied, it silently falls back to ClientJwtValidator, which does not verify the JWT signature, algorithm, or issuer, and the broker starts with no warning or error. This is the residual of CVE-2026-33557, whose fix restored signature verification only on the path where the JWKS endpoint URL is set. It is distinct from CVE-2026-110952, where issuer/audience are not enforced by default; here no signature verification occurs at all. Only brokers that enable SASL/OAUTHBEARER validation with OAuthBearerValidatorCallbackHandler, the default validator, no JWKS endpoint URL, and no custom verification key resolver are exposed.

Know when Apache Kafka gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (apache) PRIMARY HIGH
vuln.today AI 9.8 CRITICAL

A remote attacker reachable on the listener forges a token with no authentication and no user interaction (AV:N/AC:L/PR:N/UI:N), gaining full cluster access for complete C/I/A impact.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (apache).

DescriptionCVE.org

A Kafka broker using SASL/OAUTHBEARER with the default validator (sasl.oauthbearer.jwt.validator.class=DefaultJwtValidator) selects its implementation from configuration. When sasl.oauthbearer.jwks.endpoint.url is set, the validator verifies the JWT signature. When that URL is unset (the default) and no verification key resolver is supplied, DefaultJwtValidator silently falls back to ClientJwtValidator, which does not verify the JWT signature, algorithm, or issuer - and the broker starts with no warning or error. This is the residual of CVE-2026-33557, whose fix restored signature verification only on the path where the JWKS endpoint URL is set.

Impact:

A broker in this state accepts any structurally valid JWT, including "alg":"none" tokens. An unauthenticated remote attacker who can reach the listener can forge a token asserting any principal - including configured superusers - and gain full access to the cluster. Only brokers that enable SASL/OAUTHBEARER validation without a JWKS endpoint URL (and without a custom verification key resolver) are affected; brokers that set the URL verify signatures and are not affected. Unlike CVE-2026-110952 (issuer/audience not enforced by default), here no signature is verified at all.

Mitigation (all affected versions, no upgrade required):

Set sasl.oauthbearer.jwks.endpoint.url for every listener/mechanism that uses OAuthBearerValidatorCallbackHandler, or configure a signature-verifying sasl.oauthbearer.jwt.validator.class.

Resolution:

From Apache Kafka 4.2.2, 4.3.1, and 4.4.0: a broker that would fall back to the non-verifying ClientJwtValidator fails to start with a ConfigException instead of running without signature verification (secure by default).

Executive ViewAI

Why It Matters

A high-severity authentication bypass in Apache Kafka (CVE-2026-110985) allows unauthenticated attackers with network access to brokers using SASL/OAUTHBEARER without a JWKS endpoint to forge tokens and gain full cluster control, including superuser privileges. This threatens the confidentiality, integrity, and availability of all data and services dependent on affected Kafka clusters, and may impact compliance and customer trust. Leadership should prioritize immediate mitigation and consider a strategic upgrade.

Business Impact: High
Compensating Controls

Set sasl.oauthbearer.jwks.endpoint.url to a trusted JWKS endpoint or disable OAUTHBEARER authentication; restrict network access to Kafka listeners to trusted sources; implement additional authentication and monitoring controls; consider upgrading to a patched Kafka version when available.

Threat Intelligence Overview

Prevalence
High
Apache Kafka is a widely deployed enterprise streaming/messaging platform
Data Quality
1 sources
Confidence: Low

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS N/A
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

CVE-2026-33557 CRITICAL
9.1 Apr 20

Apache Kafka 4.1.0 and 4.1.1 accept forged JWT tokens without signature validation, allowing remote unauthenticated atta

CVE-2026-33558 MEDIUM
5.3 Apr 20

Apache Kafka's NetworkClient component logs entire request and response payloads at DEBUG level, exposing sensitive auth

CVE-2026-41115 MEDIUM
4.3 Jun 02

Improper authorization in Apache Kafka 4.0.0-4.3.0 arises from a discrepancy between the documented ACL requirement and

CVE-2026-114349 HIGH
Oct 28

Memory exhaustion in the Apache Kafka broker lets an authenticated principal holding Write permission on a topic submit

CVE-2026-112375 HIGH
Oct 28

Apache Kafka brokers that have an authorizer enabled will read a file or environment variable from the broker host and r

CVE-2026-116593 MEDIUM
Oct 28

Kafka Connect workers leak plaintext secrets through the REST API's /connector-plugins/{connector-type}/config/validate

CVE-2026-115644 LOW
Oct 28

Authentication bypass in Apache Kafka Connect's isolated admin REST API allows unauthenticated network attackers to read

CVE-2026-111551 HIGH
Oct 28

Network-reachable, unauthenticated deserialization flaws in Apache Kafka’s clients library and Kafka Streams can force m

CVE-2026-111496 LOW
Oct 28

Kafka Streams can be stalled indefinitely by a single record whose timestamp is at or near Long.MAX_VALUE, causing an in

CVE-2026-111115 HIGH
Oct 28

Unauthenticated remote attackers can exhaust broker heap and trigger process-wide GC stalls on Apache Kafka by declaring

CVE-2026-111108 HIGH
Oct 28

Heap exhaustion in Apache Kafka allows remote attackers to crash brokers by sending requests that declare an array eleme

CVE-2026-111073 MEDIUM
Oct 28

Apache Kafka brokers can be driven into heap exhaustion by any authenticated client because the PushTelemetry (KIP-714)

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy