CVE-2026-18922 в Debian: обход аутентификации в 389 Directory Server

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-серверу, усилить мониторинг и ждать выхода официального исправления.

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


  1. NVD — CVE-2026-18922
  2. Debian Security Tracker — CVE-2026-18922
  3. FIRST EPSS — CVE-2026-18922

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


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