CVE-2026-86219 в Ubuntu: повторное использование ответа DIGEST-MD5 и статус пакета

CVE: CVE-2026-86219
Продукт: Ubuntu
Дата публикации: 06.09.2026
Критичность: CRITICAL
CVSS: 9.8 (3.1)
EPSS: 0,22%; процентиль 12,10%
CISA KEV: нет подтверждения в каталоге CISA KEV

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


В пакете libauthen-sasl-perl для Ubuntu обнаружена уязвимость, позволяющая атакующему повторно использовать перехваченный ответ аутентификации DIGEST-MD5. Проблема связана с отсутствием проверки nonce в функции server_step. Материал описывает механику атаки, затронутые версии и способы проверки статуса системы.

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


Уязвимость позволяет злоумышленнику, перехватившему один успешный сеанс аутентификации, повторно использовать его для доступа к системе от имени того же пользователя без знания пароля. Риск актуален для сервисов, использующих Perl-модуль DIGEST-MD5 в режиме qop=auth.

  • Тип ошибки: CWE-294 (Authentication Bypass by Capture-replay). Ошибка связана с недостаточной проверкой nonce при обработке ответа клиента.
  • CVSS 3.1: 9.8 (CRITICAL). Вектор: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H. Высокая оценка отражает сетевой вектор атаки и полное нарушение конфиденциальности, целостности и доступности.
  • Условия атаки: Сетевой доступ, отсутствие предварительных прав, отсутствие взаимодействия пользователя. Атакующему не нужны учетные данные жертвы.
  • Эксплуатация: Подтверждена техническим описанием и патчем, публичный PoC не указан. Механика описана достаточно подробно для самостоятельной реализации.
  • EPSS: 0,22% (процентиль 12,10%). Вероятность эксплуатации в ближайшие 30 дней оценивается как низкая, но риск остается высоким из-за простоты атаки.

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


Уязвимость затрагивает пакет libauthen-sasl-perl во всех перечисленных ниже версиях Ubuntu. В каждой из них установлен код, не содержащий проверки nonce в функции server_step.

  • Ubuntu 14.04 LTS (trusty): версия 2.1500-1.
  • Ubuntu 16.04 LTS (xenial): версия 2.1600-1.
  • Ubuntu 18.04 LTS (bionic): версия 2.1600-1.
  • Ubuntu 20.04 LTS (focal): версия 2.1600-1.
  • Ubuntu 22.04 LTS (jammy): версия 2.1600-1.1.
  • Ubuntu 24.04 LTS (noble): версия 2.1700-1.
  • Ubuntu 26.04 LTS (resolute): версия 2.2000-1.

Для всех указанных дистрибутивов статус пакета в базе Ubuntu OSV не содержит информации о доступности исправлений (availability: null).

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


Причина уязвимости кроется в логике обработки ответов аутентификации в модуле Authen::SASL::Perl::DIGEST_MD5. Функция server_start генерирует уникальный nonce и отправляет его клиенту в challenge.

Однако в функции server_step отсутствует механизм сравнения полученного от клиента nonce с тем, который был сгенерирован сервером ранее. Вместо этого сервер вычисляет ожидаемый digest на основе параметров, переданных самим клиентом, включая его nonce.

Поскольку таблица подсчета (count table) инициализируется пустой для каждого нового объекта сервера и ключируется по nonce из запроса клиента, перехваченный ответ с nc=00000001 проходит проверку. RFC 2831 требует, чтобы nonce в ответе совпадал с nonce из предшествующего challenge, но этот контроль не реализован.

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


Атака строится на перехвате сетевого трафика между клиентом и сервером, использующим уязвимый Perl-модуль. Атакующему не нужно знать пароль жертвы, достаточно зафиксировать один успешный сеанс аутентификации.

После перехвата ответа аутентификации злоумышленник может использовать его в новой сессии. Так как сервер не проверяет, был ли nonce сгенерирован именно для текущего challenge, он принимает повторный ответ как валидный.

Эксплуатация возможна только в пределах одного и того же сервиса, хоста, realm и пользователя. Атакующий получает доступ с правами, которые были у пользователя в момент перехвата.

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


Для успешной эксплуатации уязвимости атакующему необходимо выполнить следующие условия:

  • Перехват трафика: Наличие возможности прослушивать сеть между клиентом и сервером (например, через ARP-spoofing или MITM-атаку).
  • Целевой сервис: Сервер должен использовать Authen::SASL::Perl::DIGEST_MD5 с параметром qop=auth.
  • Успешная аутентификация: Должен быть зафиксирован хотя бы один успешный сеанс аутентификации целевого пользователя.
  • Совпадение параметров: Повторное использование возможно только для того же сервиса, хоста, realm и имени пользователя.

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


Сценарий атаки начинается с пассивного мониторинга сетевого трафика. Атакующий фиксирует challenge от сервера и последующий ответ клиента, содержащий digest и nonce.

Затем атакующий инициирует новую сессию с тем же сервером. Получив новый challenge, он не выполняет аутентификацию, а отправляет ранее перехваченный ответ.

Сервер, не сверяя nonce из ответа с nonce из текущего challenge, вычисляет digest на основе параметров из перехваченного ответа. Так как digest совпадает, сервер считает аутентификацию успешной и предоставляет доступ. Весь процесс происходит без участия пользователя и без знания его пароля.

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


В официальных источниках и базе NVD отсутствуют сведения о публичном PoC или подтвержденной эксплуатации в реальных атаках.

Существует техническое описание уязвимости и патч, исправляющий проблему в версии 2.2100. Наличие патча подтверждает, что разработчики признали возможность эксплуатации. Однако отсутствие публичного кода эксплойта не означает, что атака невозможна, так как механика описана достаточно подробно для самостоятельной реализации.

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


Специфичных IOC (индикаторов компрометации) для этой уязвимости в открытых источниках не опубликовано. Общие признаки, которые могут указывать на попытку эксплуатации, включают:

  • Аномальные входы: Успешные входы в систему от имени известных пользователей в необычное время или с необычных IP-адресов.
  • Повторяющиеся сессии: Наличие нескольких сессий, использующих одинаковые параметры аутентификации (nonce, digest) в разные моменты времени.
  • Журналы SASL: Записи в логах SASL-сервера, где nc (nonce count) не увеличивается последовательно или отсутствует для новых сессий.

Эти признаки неспецифичны и требуют корреляции с другими событиями безопасности.

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


Для обнаружения попыток эксплуатации рекомендуется настроить мониторинг логов аутентификации. Особое внимание следует уделять сервисам, использующим Perl-модуль DIGEST-MD5.

  • Анализ логов SASL: Проверка журналов на наличие повторных использований одного и того же nonce в разных сессиях.
  • Мониторинг сетевых сессий: Отслеживание сессий, где digest-ответы совпадают с ранее зафиксированными.
  • Аудит прав доступа: Регулярная проверка, не были ли предоставлены права доступа пользователям, которые не должны их иметь, или в необычное время.

Также полезно включить детализированное логирование в SASL-серверах, если это поддерживается конфигурацией.

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


Для проверки, установлена ли уязвимая версия пакета, выполните следующие команды. Замените <имя-пакета> на libauthen-sasl-perl.

Bash:
cat /etc/os-release
uname -r
apt-cache policy libauthen-sasl-perl
ubuntu-security-status

Команда apt-cache policy покажет установленную версию и доступные обновления. Если версия совпадает с одной из перечисленных в разделе «Затронутые продукты», система уязвима. ubuntu-security-status поможет проверить, есть ли доступные обновления безопасности для системы в целом.

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


Основным способом устранения уязвимости является обновление пакета libauthen-sasl-perl до версии 2.2100 или выше. Однако в базе данных Ubuntu на момент публикации статьи информация о доступности обновлений для всех LTS-релизов отсутствует.

  • Проверка обновлений: Выполните apt-get update и apt-get upgrade, чтобы проверить наличие патчей от поставщика.
  • Мониторинг Ubuntu Security: Следите за официальными уведомлениями на ubuntu.com/security/CVE-2026-86219 для получения информации о выпуске обновлений.
  • Ручное обновление: Если обновление доступно, установите его с помощью apt-get install libauthen-sasl-perl.

До выхода официального патка от Ubuntu рекомендуется рассмотреть временные меры защиты.

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


Пока обновление не выпущено, можно применить следующие временные меры:

  • Отключение DIGEST-MD5: Если возможно, отключите использование Authen::SASL::Perl::DIGEST_MD5 в пользу более безопасных механизмов аутентификации (например, SCRAM-SHA-256).
  • Сетевая сегментация: Ограничьте доступ к сервисам, использующим уязвимый модуль, только из доверенных сетей.
  • TLS-шифрование: Убедитесь, что все сессии аутентификации защищены TLS, чтобы предотвратить перехват трафика.
  • Мониторинг: Усиленный мониторинг логов аутентификации на предмет аномальной активности.

Эти меры снижают риск, но не устраняют уязвимость полностью.

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


После установки обновления необходимо убедиться, что уязвимость устранена. Проверьте версию пакета:

Bash:
apt-cache policy libauthen-sasl-perl

Убедитесь, что установленная версия не ниже 2.2100. Также можно проверить наличие патча в исходном коде, если это применимо к вашей конфигурации.

Проведите тестовую аутентификацию и проверьте логи на наличие корректной обработки nonce. Если сервер теперь отвергает повторные ответы, уязвимость устранена.

Вывод​


CVE-2026-86219 представляет серьезную угрозу для систем Ubuntu, использующих Perl-модуль DIGEST-MD5 для аутентификации. Уязвимость позволяет обходить аутентификацию через повторное использование перехваченных ответов.

Администраторам необходимо проверить наличие пакета libauthen-sasl-perl в своих системах и подготовиться к установке обновления, как только оно станет доступно от Ubuntu. До этого момента рекомендуется применить временные меры защиты и усилить мониторинг сетевой активности.

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


  1. NVD — CVE-2026-86219
  2. Ubuntu OSV — CVE-2026-86219
  3. FIRST EPSS — CVE-2026-86219
  4. https://www.cve.org/CVERecord?id=CVE-2025-40918

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


  • 09.09.2026 — Опубликована первая версия материала.
 
Назад
Верх Низ