CVE-2026-110985 in Kafka
Сводка
по VulDB • 28.10.2026
Уязвимость в Kafka-брокере, использующем SASL/OAUTHBEARER со стандартным классом валидатора (`sasl.oauthbearer.jwt.validator.class=DefaultJwtValidator`), позволяет злоумышленнику получить несанкционированный доступ к кластеру. При настройке параметра `sasl.oauthbearer.jwks.endpoint.url` валидатор проверяет подпись JWT-токена. Однако, если этот URL не задан (по умолчанию) и не предоставлено пользовательское средство разрешения ключей верификации (`verification key resolver`), класс `DefaultJwtValidator` молча переходит к использованию `ClientJwtValidator`, который не проверяет ни подпись JWT, ни алгоритм шифрования, ни издателя токена. При этом брокер запускается без каких-либо предупреждений или ошибок. Данная проблема является остаточным эффектом от CVE-2026-33557; исправление для той уязвимости восстановило проверку подписи только в том случае, если URL JWKS-эндпоинта задан явно.
**Влияние:**
Брокер в таком состоянии принимает любой структурно корректный JWT, включая токены с алгоритмом `"alg":"none"`. Удаленный злоумышленник, не прошедший аутентификацию и имеющий сетевой доступ к слушателю (listener), может подделать токен от имени любого субъекта, в том числе настроенных суперпользователей (`superusers`), и получить полный доступ ко всему кластеру. Затронуты только брокеры, у которых включена проверка SASL/OAUTHBEARER без указания JWKS-эндпоинта URL (и без пользовательского средства верификации ключей); брокеры с заданным URL проверяют подписи и не подвержены данной проблеме. В отличие от CVE-2026-110952, где по умолчанию не enforced издатель/аудитория (`issuer`/`audience`), здесь вообще отсутствует какая-либо проверка подписи.
**Меры по смягчению (для всех затронутых версий, обновление не требуется):**
Установите параметр `sasl.oauthbearer.jwks.endpoint.url` для каждого слушателя/механизма, использующего `OAuthBearerValidatorCallbackHandler`, или настройте класс валидатора JWT (`sasl.oauthbearer.jwt.validator.class`) с поддержкой проверки подписи.
**Решение:**
Начиная с версий Apache Kafka 4.2.2, 4.3.1 и 4.4.0: брокер, который ранее мог перейти к использованию непроверяющего `ClientJwtValidator`, теперь не запускается, а генерирует исключение конфигурации (`ConfigException`), обеспечивая безопасную работу по умолчанию (secure by default).
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.