CVE-2026-110985: Apache Kafka: Broker silently skips JWT signature verification for SASL/OAUTHBEARER when the JWKS endpoint URL is not configured
CVE-2026-110985 key facts
- CISA KEV
- Not listed (catalogue checked )
- Highest advisory rating
- High
- CVSS base score
- 8.1 (Red Hat)
- CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N· base score 9.1, scored by CISA-ADPAttack vector: network. Attack complexity: low. Privileges required: none. User interaction: none. Scope: unchanged. Confidentiality impact: high. Integrity impact: high. Availability impact: none.- Weakness
- CWE-345 Insufficient Verification of Data Authenticity and its child
- CWE-347 Improper verification of cryptographic signature
- CWE-1287 Improper validation of specified type of input
- CWE-636 Failing Open
- CISA SSVC
- Exploitation: none observed. Automatable: no. Technical impact: total. CISA, .
- Assigned by
- apache (CNA)
- CVE record published
- Listed by VulniPulse
- Record changed
Ratings, versions and fixes are quoted from the vendor advisories that cover only CVE-2026-110985; each belongs to its advisory, not to every product listed. How records are collected and checked.
Description
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).
Text from the CVE.org record (apache).
How do I fix CVE-2026-110985?
- 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. (Apache)
- 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. (Apache)
- Red Hat is not aware of any available mitigation for this issue. Customers are advised to apply the relevant security updates as they become available. (Red Hat)
Vendor advisories for CVE-2026-110985
Apache
1 advisory- Advisory severityUnrated
Advisory [CVE-2026-110985] Apache Kafka: Broker silently skips JWT signature verification for SASL/OAUTHBEARER when the JWKS endpoint URL is not configured
CVE-2026-110985Source published Source updated
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…
- Affected products in this advisory
- Apache Kafka
- Source-reported affected versions
- Apache Kafka 4.1.0 through 4.1.2
- Apache Kafka 4.2.0 through 4.2.1
- Apache Kafka 4.3.0
- Source-reported fixed versions
- No fixed-version detail extracted. This does not mean no fix exists.
- Mitigation guidance
- 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.
- 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.
Red Hat
1 advisory- Advisory severityHigh8.1
High [CVE-2026-110985] Authentication bypass via missing JWT signature verification
CVE-2026-110985Source published Source updated
Authentication bypass via missing JWT signature verification. Red Hat rates this important (CVSS 8.1). Weakness: CWE-347.
- Related products — impact not confirmed
- No product details extracted. Check the source bulletin.
- Source-reported affected versions
- Affected-version details not available in this record.
- Source-reported fixed versions
- No fixed-version detail extracted. This does not mean no fix exists.
- Mitigation guidance
- Red Hat is not aware of any available mitigation for this issue. Customers are advised to apply the relevant security updates as they become available.
References
- CVE-2026-110985 recordCVE.org
- CVE-2026-110985 detailNVD
- kafka.apache.org/cve-listvendor-advisory
Timeline
- CVE record published
- First vendor advisory listed by VulniPulse
- CVE record last updated
More Apache advisories
CVE-2026-114349Oct 28, 2026Apache Kafka: Denial of serviceCVE-2026-112375Oct 28, 2026Apache Kafka: Unauthorized principal can read arbitrary broker filesCVE-2026-116593Oct 28, 2026Apache Kafka: Kafka Connect configuration provider values exposedCVE-2026-115644Oct 28, 2026Apache Kafka: Connect Admin REST API Authentication Bypass via Unapplied REST ExtensionsCVE-2026-111551Oct 28, 2026Apache Kafka: Denial of service in Kafka Streams and client deserializersCVE-2026-111496Oct 28, 2026Apache Kafka: Kafka Streams StreamThread hang from integer overflow in stream-time
Get an email when Apache publishes the next one.
See Apache's last 90 days of advisories first. Then choose one product with live alerts free for life, or a free month of real-time alerts on everything with the severity, the fixed version and the vendor's link (card needed, then US$15/month; we email you before the first charge).
iPhone and Android apps · New on the App Store
Get alerts for new CVEs on your phone.
Choose a whole vendor or a precise platform, then receive matching security advisories by phone notification, email, or both. Coverage follows 34 official vendor sources and 160+ reviewed platform categories.