CVE-2026-67409 в Debian: DoS аутентификации через уничтожение JWKS-ключей и статусы HTTP

CVE: CVE-2026-67409
Продукт: Debian
Дата публикации: 25.09.2026
Критичность: HIGH
CVSS: 8.2 (4.0)
EPSS: нет данных; процентиль нет данных
CISA KEV: нет подтверждения в каталоге CISA KEV

Краткое описание​


В Debian CVE-2026-67409 затрагивает пакет rabbitmq-server. Ошибка находится в механизме загрузки JWKS-ключей OAuth2: код не проверяет HTTP-статус ответа, поэтому ошибка с JSON-телом без поля keys стирает кэш ключей и блокирует OAuth2/JWT-аутентификацию до успешного обновления.

Основные характеристики​


Риск — отказ аутентификации всех OAuth2/JWT-пользователей RabbitMQ из-за уничтожения кэшированных подписывающих ключей после получения ошибочного ответа от JWKS-эндпоинта. Проблема не требует привилегий и может быть вызвана внешним ответом, если сервис настроен на загрузку ключей.

  • CVSS: CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X — оценка 8.2, HIGH.
  • CWE: CWE-252 — некорректная проверка состояния или статуса при обработке данных.
  • Тип воздействия: отказ аутентификации OAuth2/JWT до восстановления JWKS-кэша.
  • Эксплуатация: доступна без привилегий, если сервис запрашивает ключи у внешнего провайдера.

Какие продукты и версии затронуты​


В Debian затронут пакет rabbitmq-server в следующих версиях из репозиториев:

  • bookworm: 3.10.8-1.1+deb12u1
  • forky: 4.3.2-4
  • sid: 4.3.2-5
  • trixie: 4.0.5-6+deb13u2

Причина уязвимости​


Модуль OAuth2 в RabbitMQ загружает JWKS-ключи через httpc и обрабатывает ответ по шаблону {ok, {{HttpVersion, StatusCode, ReasonPhrase}, Headers, Body}}.

Код не проверяет StatusCode. Любая успешная HTTP-транзакция с телом JwksBody проходит дальше, даже если статус 4xx или 5xx.

Если тело — валидный JSON без поля keys, механизм загрузки ключей стирает ранее загруженные ключи.

Как работает атака​


Атака использует внешний HTTP-ответ от OAuth2/JWKS-эндпоинта. Сервис RabbitMQ запрашивает JWKS и получает ответ с ошибочным статусом.

Если тело ответа — корректный JSON без поля keys, код воспринимает его как результат загрузки ключей и очищает кэш подписывающих ключей.

После этого OAuth2/JWT-аутентификация не проходит для всех пользователей до следующего успешного обновления JWKS.

Условия успешной эксплуатации​


Для воспроизведения ошибки необходимы:

  • установленный rabbitmq-server из Debian с уязвимой версией;
  • активная настройка OAuth2/JWT-аутентификации с загрузкой JWKS-ключей;
  • возможность влиять на ответ от JWKS-эндпоинта или перехват/замена ответа, который получает сервис RabbitMQ.

Если OAuth2/JWKS не используется, практический эффект может отсутствовать.

Возможный сценарий атаки​


Сценарий начинается с запроса к JWKS-эндпоинту. Ответ содержит статус ошибки и JSON-тело без поля keys.

Сервис обрабатывает тело как успешную загрузку ключей и удаляет ранее сохранённые ключи из кэша.

Далее OAuth2/JWT-запросы от пользователей не проходят, потому что нет доступных ключей для проверки подписи. До восстановления JWKS аутентификация остаётся недоступной.

Есть ли публичный эксплойт​


В предоставленных источниках описан механизм ошибки и версии исправления, но нет отдельного раздела с готовым эксплойтом, PoC-скриптом или подтверждённой эксплуатацией в реальных инцидентах.

Отсутствие таких данных не означает, что они не существуют. В текущем пакете доказательств есть только техническое описание ошибки и ссылки на релизы.

Признаки эксплуатации​


Специфичных IOC для CVE-2026-67409 в предоставленных источниках нет.

Ниже приведены неспецифичные точки контроля, которые можно проверить при подозрении на проблему:

  • рост количества отказов OAuth2/JWT-аутентификации в RabbitMQ;
  • ошибки или пустой кэш JWKS-ключей в логах rabbitmqauthbackendoauth2;
  • неожиданные HTTP 4xx/5xx ответы от внешнего OAuth2/JWKS-эндпоинта;
  • остановка входа пользователей по токенам JWT после изменения конфигурации OAuth2.

Эти признаки не подтверждают атаку автоматически и требуют сопоставления с журналами.

Как обнаружить атаку​


Для обнаружения проблемы можно проверить:

  • версию пакета rabbitmq-server в Debian;
  • наличие OAuth2/JWT-настройки и адрес JWKS-эндпоинта;
  • логи RabbitMQ на ошибки аутентификации после запросов к JWKS;
  • HTTP-статусы ответов от внешнего OAuth2-провайдера, если они фиксируются.

Надёжный способ — сравнить установленную версию с исправленными версиями из Debian Security Tracker.

Как проверить свою версию​


Для проверки версии пакета в Debian:

Bash:
cat /etc/debian_version

Bash:
cat /etc/os-release

Bash:
apt-cache policy rabbitmq-server

Bash:
dpkg-query -W -f='${Package} ${Version}\n' rabbitmq-server

В командах apt-cache policy и dpkg-query имя пакета уже указано как rabbitmq-server. Если проверяется другой пакет, замените его на нужное имя.

Исправление​


Исправление доступно в следующих версиях RabbitMQ:

  • 4.3.3
  • 4.2.9
  • 4.1.14
  • 4.0.23
  • 3.13.18

В Debian пакет rabbitmq-server отслеживается как open для bookworm, forky, sid и trixie. Для обновления:

Bash:
apt update

Bash:
apt upgrade rabbitmq-server

Если в репозитории ещё нет исправленного пакета, используйте официальные рекомендации Debian Security Tracker.

Временные меры защиты​


Временные меры зависят от конфигурации OAuth2/JWT:

  • ограничить доступ к JWKS-эндпоинту до проверенных адресов провайдера;
  • проверить, что внешний OAuth2/JWKS не возвращает JSON без поля keys при ошибках;
  • временно отключить OAuth2/JWT-аутентификацию, если она не критична;
  • сохранить резервную копию конфигурации и ключей до обновления.

Меры не устраняют ошибку и работают только как снижение риска до применения исправления.

Как проверить устранение уязвимости​


После обновления проверьте:

Bash:
dpkg-query -W -f='${Package} ${Version}\n' rabbitmq-server

Убедитесь, что версия соответствует одной из исправленных версий или Debian-пакету с обновлением.

Затем выполните тест OAuth2/JWT-входа и проверьте логи на отсутствие ошибок загрузки JWKS.

Вывод​


CVE-2026-67409 в Debian — ошибка аутентификации, которая приводит к отказу OAuth2/JWT после уничтожения JWKS-ключей. Ключевой риск связан с тем, что HTTP-статус не проверяется при загрузке ключей.

Для защиты нужно обновить rabbitmq-server до исправленной версии и проверить наличие OAuth2/JWT-настройки.

Официальные источники​


  1. NVD — CVE-2026-67409
  2. Debian Security Tracker — CVE-2026-67409

История обновлений статьи​


  • 27.09.2026 — Опубликована первая версия материала.
  • 28.09.2026 — Уточнены сведения об уязвимых версиях, оценке риска или исправлении.
  • 28.09.2026 — Уточнены сведения об уязвимых версиях, оценке риска или исправлении.
 
Последнее редактирование:
Назад
Верх Низ