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).
Published: 2026-10-28
Score: n/a
EPSS: n/a
KEV: No
Impact: Unauthorized Cluster Access
Action: Apply Config Fix
AI Analysis

Impact

A Kafka broker that uses the default JWT validator will silently bypass signature verification if the JWKS endpoint URL is not configured. The system falls back to a client validator that accepts any structurally valid token, including those with "alg":"none", and does not check issuer or algorithm. An unauthenticated remote attacker can craft a token asserting any principal, even configured superusers, and gain full administrative access to the Kafka cluster.

Affected Systems

Apache Software Foundation’s Apache Kafka is the affected product. All Kafka releases prior to version 4.2.2 (including 4.1.x and 4.2.1) that rely on the default validator and lack a configured jwks.endpoint.url are vulnerable. Brokers that explicitly set the jwks.endpoint.url, provide a custom verification key resolver, or run a version that throws a configuration exception (4.2.2, 4.3.1, 4.4.0) are not affected.

Risk and Exploitability

The vulnerability is not listed in KEV and EPSS data is unavailable, but no CVSS score is provided. The potential impact is severe because any remote entity that can reach a broker listener can forge a token and impersonate any cluster user, including superusers. The attack vector is inferred to be network‑based, requiring only the ability to reach the Kafka broker, and can be executed by an unauthenticated attacker without local privileges.

Generated by OpenCVE AI on October 28, 2026 at 17:21 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Configure sasl.oauthbearer.jwks.endpoint.url for every listener that uses OAuthBearerValidatorCallbackHandler so that JWT signature verification is performed.
  • If a JWKS endpoint is not available, set sasl.oauthbearer.jwt.validator.class to a signature‑verifying implementation to replace the default validator.
  • Upgrade Apache Kafka to 4.2.2, 4.3.1, or 4.4.0, which prevent the silent fallback by throwing a configuration exception when verification cannot be performed.

Generated by OpenCVE AI on October 28, 2026 at 17:21 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

References
History

Wed, 28 Oct 2026 16:45:00 +0000

Type Values Removed Values Added
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).
Title Apache Kafka: Broker silently skips JWT signature verification for SASL/OAUTHBEARER when the JWKS endpoint URL is not configured
Weaknesses CWE-1287
CWE-345
CWE-347
CWE-636
References

Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: apache

Published:

Updated: 2026-10-28T16:37:45.688Z

Reserved: 2026-10-15T11:31:31.708Z

Link: CVE-2026-110985

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-28T17:17:38.157

Modified: 2026-10-28T17:17:38.157

Link: CVE-2026-110985

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-28T17:30:15Z

Weaknesses
  • CWE-1287

    Improper Validation of Specified Type of Input

  • CWE-345

    Insufficient Verification of Data Authenticity

  • CWE-347

    Improper Verification of Cryptographic Signature

  • CWE-636

    Not Failing Securely ('Failing Open')