CVE: CVE-2026-18922
Продукт: Debian
Дата публикации: 07.09.2026
Критичность: CRITICAL
CVSS: 9.8 (3.1)
EPSS: 0,56%; процентиль 44,60%
CISA KEV: нет подтверждения в каталоге CISA KEV
Краткое описание
В 389 Directory Server обнаружена критическая уязвимость, позволяющая получить привилегии Directory Manager без валидных учетных данных. Ошибка возникает из-за некорректного сброса состояния SASL при повторных попытках аутентификации. В Debian статус уязвимости по пакету 389-ds-base на текущий момент — «open» для всех поддерживаемых релизов.
Основные характеристики
Уязвимость позволяет атакующему полностью обойти механизм аутентификации LDAP-сервера, получив максимальные привилегии без знания пароля. Это создает прямую угрозу для целостности и конфиденциальности данных, хранящихся в каталоге.
- Тип ошибки: CWE-287 (Incorrect Authentication). Ошибка в логике проверки подлинности.
- CVSS: 9.8 (CRITICAL). Вектор:
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H. Высокий балл отражает простоту эксплуатации и критичность последствий.
- Условия атаки: Атакующему не нужны предварительные привилегии (PR:N) и взаимодействие пользователя (UI:N). Доступ осуществляется по сети (AV:N).
- Эксплуатация: В каталоге CISA KEV подтверждений о массовом использовании в реальных атаках на данный момент нет.
- EPSS: 0,56% (процентиль 44,6%). Вероятность эксплуатации в ближайшие 30 дней оценивается как низкая, но не нулевая.
Какие продукты и версии затронуты
Уязвимость затрагивает компонент 389 Directory Server, который в дистрибутивах Debian поставляется в составе пакета
389-ds-base. Согласно данным Debian Security Tracker, статус уязвимости для всех актуальных веток дистрибутива на текущий момент — «open» (не исправлено).- Debian 12 (bookworm): Пакет версии
2.3.1+dfsg1-1+deb12u1. Статус: open, срочность не назначена.
- Debian 13 (trixie): Пакет версии
3.1.2+dfsg1-1+deb13u1. Статус: open, срочность не назначена.
- Debian Unstable (sid): Пакет версии
3.3.0-2. Статус: open, срочность не назначена.
Отсутствие исправлений в официальных репозиториях означает, что администраторы должны самостоятельно оценить риски и принять меры по защите.
Причина уязвимости
Причина уязвимости кроется в некорректной обработке состояния соединения при использовании механизма SASL. В частности, при неудачной попытке аутентификации через SASL PLAIN в свойствах вспомогательного модуля Cyrus SASL (auxiliary property) может сохраняться «устаревшая» (stale) информация об идентичности пользователя.
Когда на том же соединении происходит последующая успешная аутентификация (например, через SASL ANONYMOUS или с использованием другого механизма), сервер не всегда корректно очищает эти сохраненные свойства. В результате сервер может «унаследовать» привилегии от предыдущей неудачной попытки, даже если текущая аутентификация прошла успешно, но с меньшими правами или анонимно.
Как работает атака
Атакующий использует одну и ту же сессию TCP для двух последовательных операций. Сначала он отправляет запрос SASL PLAIN bind, указывая DN администратора (например,
cn=Directory Manager), но с неверным паролем. Эта попытка завершается ошибкой, однако в состоянии соединения может остаться метка с именем администратора.Затем атакующий отправляет второй запрос — SASL ANONYMOUS bind (или bind от имени обычного пользователя с низким уровнем доступа). Поскольку соединение не разорвано, сервер при обработке второго запроса может ошибочно применить сохраненные свойства от первого запроса. В итоге сервер выдаст права Directory Manager для сессии, которая фактически аутентифицирована анонимно или с минимальными привилегиями.
Условия успешной эксплуатации
Для успешной эксплуатации уязвимости атакующему необходимо:
- Сетевой доступ: Возможность установить TCP-соединение с портом LDAP (обычно 389 или 636) на целевом сервере 389 Directory Server.
- Знание DN администратора: Атакующему нужно знать точный DN учетной записи с высокими привилегиями (например,
cn=Directory Manager), чтобы использовать его в первой, неудачной попытке аутентификации.
- Отсутствие блокировки: Сервер не должен принудительно разрывать соединение после неудачной попытки аутентификации, позволяя переиспользовать сессию.
Возможный сценарий атаки
Сценарий атаки выглядит следующим образом. Злоумышленник устанавливает соединение с LDAP-сервером. Он отправляет SASL PLAIN bind с DN
cn=Directory Manager и случайным паролем. Сервер отвечает ошибкой «invalid credentials», но соединение остается активным.Не разрывая сессию, атакующий отправляет SASL ANONYMOUS bind. Из-за бага в обработке состояния Cyrus SASL сервер может ошибочно приписать текущей сессии права Directory Manager. Теперь атакующий может выполнять любые операции с каталогом: читать пароли, изменять ACL, удалять записи, — все это под маской администратора, не имея его пароля.
Есть ли публичный эксплойт
На момент публикации CVE-2026-18922 в каталоге CISA KEV нет записей о подтвержденной эксплуатации этой уязвимости в реальных атаках. Публичные PoC (proof-of-concept) или готовые эксплойты в открытых базах данных (например, Exploit-DB) также не зафиксированы.
Однако отсутствие публичного эксплойта не означает, что уязвимость не может быть использована. Механика атаки описана в техническом описании CVE достаточно подробно, что позволяет специалистам по безопасности самостоятельно разработать PoC для проверки своих систем.
Признаки эксплуатации
Специфичные индикаторы компрометации (IOC) для этой уязвимости в официальных источниках не опубликованы. Однако можно использовать общие, неспецифичные признаки подозрительной активности в логах LDAP:
- Аномальные последовательности bind: Зафиксирование в логах неудачного SASL PLAIN bind за короткое время (секунды) до успешного SASL ANONYMOUS bind или bind от имени низкопривилегированного пользователя с одного и того же IP-адреса.
- Неожиданные привилегии: Операции, выполняемые анонимным пользователем или пользователем с низким уровнем доступа, которые требуют прав Directory Manager (например, изменение ACL, чтение хэшей паролей).
- Аномальные запросы: Высокая частота запросов к чувствительным атрибутам (пароли, ключи) от сессий, которые ранее не демонстрировали такой активности.
Как обнаружить атаку
Для обнаружения попыток эксплуатации рекомендуется настроить мониторинг логов 389 Directory Server. В логах следует обращать внимание на последовательность событий: неудачный bind с высоким уровнем привилегий, за которым следует успешный bind с низким уровнем или анонимный bind с того же IP.
Также полезно настроить алерты на операции, выполняемые анонимным пользователем, которые затрагивают критические разделы каталога. Если используется SIEM, можно создать правило, которое ищет паттерн:
bind failed (SASL PLAIN, DN=admin) -> bind success (SASL ANONYMOUS) в пределах короткого временного окна.Как проверить свою версию
Для проверки версии установленного пакета
389-ds-base в Debian используйте следующие команды. Замените <имя-пакета> на 389-ds-base.
Bash:
# Проверка версии Debian
cat /etc/debian_version
# Проверка версии пакета через apt
dpkg-query -W -f='${Package} ${Version}\n' 389-ds-base
# Альтернативный способ через apt-cache
apt-cache policy 389-ds-base
Сравните полученную версию с версиями, указанными в Debian Security Tracker, чтобы определить, является ли ваша система уязвимой.
Исправление
На текущий момент официальных исправлений для Debian в репозиториях bookworm, trixie и sid не выпущено (статус «open»). До выхода патча рекомендуется:
- Ограничить доступ: Ограничить доступ к портам LDAP (389/636) только с доверенных IP-адресов через файрвол.
- Отключить SASL ANONYMOUS: Если это возможно в конфигурации, отключите механизм SASL ANONYMOUS, чтобы исключить один из вариантов атаки.
- Мониторинг: Усиленный мониторинг логов на предмет аномальных последовательностей bind, описанных в разделе «Indicators of Compromise».
- Регулярная проверка: Следите за обновлениями Debian Security Tracker и Red Hat Errata, чтобы оперативно установить патч, как только он станет доступен.
Временные меры защиты
Пока исправление не выпущено, можно применить следующие временные меры:
- Сетевая сегментация: Ограничить доступ к LDAP-серверу только для служб, которые действительно нуждаются в аутентификации через SASL.
- Отключение SASL PLAIN: Если политика безопасности позволяет, отключите механизм SASL PLAIN, так как он является триггером для сохранения «устаревших» свойств. Используйте более безопасные механизмы, такие как SASL DIGEST-MD5 или TLS с клиентскими сертификатами.
- Аудит конфигурации: Проверьте, не разрешены ли анонимные bind'ы в конфигурации 389 Directory Server. Если они не нужны, отключите их.
Как проверить устранение уязвимости
После установки исправления (когда оно будет выпущено) необходимо проверить, что уязвимость устранена. Для этого можно использовать PoC-скрипт, который имитирует атаку: выполняет неудачный SASL PLAIN bind, затем успешный SASL ANONYMOUS bind, и проверяет, какие привилегии получены. Если сервер корректно ограничивает права анонимного пользователя, уязвимость устранена.
Также убедитесь, что версия пакета
389-ds-base соответствует исправленной версии, указанной в Debian Security Tracker или Red Hat Errata.Вывод
CVE-2026-18922 представляет собой критическую угрозу для систем, использующих 389 Directory Server в Debian. Уязвимость позволяет полностью обойти аутентификацию и получить привилегии администратора.
Несмотря на отсутствие подтверждений о массовом использовании, риск высок из-за простоты эксплуатации. Администраторам следует ограничить сетевой доступ к LDAP-серверу, усилить мониторинг и ждать выхода официального исправления.
Официальные источники
История обновлений статьи
- 08.09.2026 — Опубликована первая версия материала.
- 09.09.2026 — Уточнены сведения об уязвимых версиях, оценке риска или исправлении.
Последнее редактирование:
