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-настройки.
Официальные источники
История обновлений статьи
- 27.09.2026 — Опубликована первая версия материала.
- 28.09.2026 — Уточнены сведения об уязвимых версиях, оценке риска или исправлении.
- 28.09.2026 — Уточнены сведения об уязвимых версиях, оценке риска или исправлении.
Последнее редактирование:
