CVE-2026-14957 в Ubuntu: отказ в обслуживании Libreswan в FIPS-режиме

CVE: CVE-2026-14957
Продукт: Ubuntu
Дата публикации: 02.09.2026
Критичность: HIGH
CVSS: 7.5 (3.1)
EPSS: 0,56%; процентиль 44,22%
CISA KEV: нет подтверждения в каталоге CISA KEV

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


Уязвимость в пакете libreswan для Ubuntu позволяет удаленному атакующему вызвать аварийное завершение процесса pluto путем отправки сформированного X.509 сертификата. Ошибка проявляется исключительно в FIPS-режиме при наличии загруженных сертификатов CA. Статья описывает механику сбоя, затронутые версии и способы проверки исправления.

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


Ошибка приводит к отказу в обслуживании (DoS) шлюза IPsec, не позволяя атакующему выполнить код или получить доступ к данным. Риск реализуется только при специфической конфигурации системы.

  • Тип ошибки: CWE-252 (Unchecked Return Value) и CWE-617 (Reachable Assertion).
  • CVSS 3.1: 7.5 (HIGH). Вектор: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H.
  • Условия атаки: Требуется FIPS-режим ОС и libreswan, а также наличие сертификатов CA в базе NSS. Аутентификация не требуется.
  • Эксплуатация: Подтверждена возможность удаленного срабатывания, но данные о массовых атаках в каталоге CISA KEV отсутствуют.
  • EPSS: 0,56% (процентиль 44,23%).

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


Уязвимость затрагивает пакет libreswan в нескольких LTS-релизах Ubuntu. Официальная база данных Ubuntu OSV фиксирует следующие версии, в которых обнаружена проблема:

  • Ubuntu 18.04 LTS (Bionic): версия пакета 3.23-4.
  • Ubuntu 20.04 LTS (Focal): версия пакета 3.29-2build1.
  • Ubuntu 22.04 LTS (Jammy): версия пакета 3.32-3ubuntu3.
  • Ubuntu 24.04 LTS (Noble): версия пакета 4.14-1ubuntu2.
  • Ubuntu 26.04 LTS (Resolute): версия пакета 5.2-2.2ubuntu2.

Для всех перечисленных дистрибутивов событие introduced указано как 0, что означает потенциальное наличие уязвимости с момента первого появления пакета в репозитории.

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


Причина ошибки кроется в функции add_decoded_cert() в коде libreswan. При обработке сертификатов в FIPS-режиме функция вызывает CERT_ExtractPublicKey() и использует утверждение (assert), что результат не равен NULL.

Однако CERT_ExtractPublicKey() возвращает NULL при неудаче извлечения публичного ключа. Это может произойти, например, если в сертификате задан нулевой RSA-экспонент. Срабатывание утверждения приводит к аварийному завершению процесса pluto.

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


Атакующий отправляет сформированный X.509 сертификат в составе CERT-пакета IKE. Поскольку обработка CERT-пакетов происходит до аутентификации пиров, атакующему не нужны учетные данные.

При парсинге сертификата с некорректными параметрами (например, нулевым экспонентом) функция извлечения ключа возвращает NULL. В FIPS-режиме это вызывает срабатывание assert, что приводит к падению демона pluto. Повторная отправка таких пакетов позволяет поддерживать состояние отказа в обслуживании.

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


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

  • FIPS-режим: И операционная система, и libreswan должны работать в режиме FIPS.
  • Сертификаты CA: В базе данных NSS должна быть загружена хотя бы одна CA-сертификат.
  • Протокол: Поддерживаются как IKEv1, так и IKEv2.
  • Отсутствие PSK-только конфигураций: Если используется только PreSharedKey (PSK) и сертификаты CA не загружены, система не уязвима.

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


Сценарий атаки предполагает, что злоумышленник имеет сетевой доступ к шлюзу IPsec. Он формирует IKE-сообщение, содержащее CERT-пакет с сформированным сертификатом.

Шлюз принимает сообщение и начинает обработку сертификата до проверки аутентификации. При попытке извлечь публичный ключ из сформированного сертификата возникает ошибка, которая в FIPS-режиме приводит к аварийному завершению процесса. Связи IPsec разрываются, а сервис становится недоступным до перезапуска демона.

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


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

Отсутствие сведений о публичном эксплойте не означает, что он не существует, но подтвержденных фактов его использования в реальных атаках в каталоге CISA KEV не зафиксировано.

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


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

  • Логи демона: Записи об аварийном завершении процесса pluto или срабатывании assert.
  • Сетевой трафик: Пиковые значения трафика IKE с некорректными сертификатами.
  • Состояние сервиса: Частые перезапуски сервиса libreswan или ipsec.

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


Для обнаружения попыток эксплуатации следует анализировать логи системы и демона pluto. В FIPS-режиме срабатывание assert обычно сопровождается характерными сообщениями об ошибке в журнале.

Также полезно мониторить состояние сервиса ipsec на предмет частых перезапусков. Если система работает в FIPS-режиме с сертификатами CA, рекомендуется включить детализированное логирование IKE-сессий для выявления аномальных CERT-пакетов.

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


Для проверки версии установленного пакета libreswan и статуса обновлений в Ubuntu используйте следующие команды:

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

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

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


Основным способом устранения уязвимости является обновление пакета libreswan до исправленной версии. Официальная страница Ubuntu Security содержит информацию о доступных патчах.

Для применения обновлений выполните:

Bash:
sudo apt update
sudo apt upgrade libreswan

После обновления рекомендуется перезапустить сервис ipsec для применения новых настроек: sudo systemctl restart ipsec.

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


Если обновление невозможно, можно временно снизить риск, изменив конфигурацию:

  • Отключение FIPS-режима: Если политика безопасности позволяет, отключение FIPS-режима для libreswan устранит срабатывание assert.
  • Удаление сертификатов CA: Если конфигурация позволяет, удаление сертификатов CA из базы NSS сделает систему неуязвимой для этой конкретной атаки.
  • Ограничение доступа: Ограничьте сетевой доступ к портам IKE (500, 4500) до доверенных IP-адресов.

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


Для проверки успешного исправления выполните следующие шаги:

  1. Убедитесь, что версия пакета libreswan соответствует исправленной версии, указанной в Ubuntu Security.
  2. Проверьте, что сервис ipsec работает стабильно и не перезапускается.
  3. Если возможно, проведите тестовую отправку сформированного сертификата в изолированной среде и убедитесь, что процесс pluto не завершается аварийно.

Команда apt-cache policy libreswan поможет подтвердить, что установлена актуальная версия.

Вывод​


CVE-2026-14957 представляет собой риск отказа в обслуживании для систем Ubuntu, использующих libreswan в FIPS-режиме с сертификатами CA. Уязвимость не позволяет выполнить код, но может нарушить доступность VPN-соединений.

Администраторам рекомендуется проверить конфигурацию системы, обновить пакет libreswan и при необходимости временно ограничить доступ к IKE-портам до применения патча.

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


  1. NVD — CVE-2026-14957
  2. Ubuntu OSV — CVE-2026-14957
  3. FIRST EPSS — CVE-2026-14957

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


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