Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach OAUTHBEARER listener on affected broker
-
ExploitForge JWT (e.g. alg:none) asserting superuser principal
-
ExecutionBroker accepts unverified token as authenticated
-
ImpactGain 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. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – 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
Affected Packages
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
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.
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
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.
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
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.
What every action level means
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
More in Apache Kafka
View allApache Kafka 4.1.0 and 4.1.1 accept forged JWT tokens without signature validation, allowing remote unauthenticated atta
Apache Kafka's NetworkClient component logs entire request and response payloads at DEBUG level, exposing sensitive auth
Improper authorization in Apache Kafka 4.0.0-4.3.0 arises from a discrepancy between the documented ACL requirement and
Memory exhaustion in the Apache Kafka broker lets an authenticated principal holding Write permission on a topic submit
Apache Kafka brokers that have an authorizer enabled will read a file or environment variable from the broker host and r
Kafka Connect workers leak plaintext secrets through the REST API's /connector-plugins/{connector-type}/config/validate
Authentication bypass in Apache Kafka Connect's isolated admin REST API allows unauthenticated network attackers to read
Network-reachable, unauthenticated deserialization flaws in Apache Kafka’s clients library and Kafka Streams can force m
Kafka Streams can be stalled indefinitely by a single record whose timestamp is at or near Long.MAX_VALUE, causing an in
Unauthenticated remote attackers can exhaust broker heap and trigger process-wide GC stalls on Apache Kafka by declaring
Heap exhaustion in Apache Kafka allows remote attackers to crash brokers by sending requests that declare an array eleme
Apache Kafka brokers can be driven into heap exhaustion by any authenticated client because the PushTelemetry (KIP-714)
EUVD-2026-112207
GHSA-j27v-m9ww-p89m
CVE.org
Exploit-DB