Katalog CVE

CVE-2026-110985

Niskie ryzyko· EPSS 2%
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.13%

Percentyl 2 - wyżej niż 2% wszystkich znanych CVE

Streszczenie

W brokerze Apache Kafka używającym SASL/OAUTHBEARER z domyślnym walidatorem (DefaultJwtValidator), gdy parametr sasl.oauthbearer.jwks.endpoint.url nie jest ustawiony i nie dostarczono własnego resolvera kluczy, walidator po cichu przełącza się na ClientJwtValidator, który nie weryfikuje podpisu, algorytmu ani wystawcy JWT. Broker uruchamia się bez ostrzeżenia, akceptując każdy poprawny strukturalnie token, w tym tokeny z "alg":"none". Jest to pozostałość po CVE-2026-33557, którego poprawka przywróciła weryfikację podpisu tylko na ścieżce z ustawionym URL JWKS.

Ocena ryzyka

Nieuwierzytelniony zdalny atakujący z dostępem do listenera może sfałszować token JWT i podszyć się pod dowolnego principal, w tym skonfigurowanych superuserów, uzyskując pełny dostęp do klastra. Dotyczy to wyłącznie brokerów z włączoną walidacją SASL/OAUTHBEARER bez URL endpointu JWKS i bez własnego resolvera kluczy.

Rekomendacja

Dla każdego listenera/mechanizmu używającego OAuthBearerValidatorCallbackHandler ustaw sasl.oauthbearer.jwks.endpoint.url lub skonfiguruj walidator sasl.oauthbearer.jwt.validator.class weryfikujący podpis. Od wersji Apache Kafka 4.2.2, 4.3.1 i 4.4.0 broker, który próbowałby użyć nieweryfikującego ClientJwtValidator, nie uruchomi się (ConfigException).

Inne podatności w Apache Kafka

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

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).

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS