CVE-2026-19931 в Ubuntu: утечка сессий libcurl и порядок обновления

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

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


Уязвимость в libcurl позволяет злоумышленнику перехватить HTTP-запросы другого пользователя, если клиент повторно использует соединение с Negotiate-аутентификацией, инициализированное пустыми учётными данными. Для администраторов Ubuntu это означает риск компрометации корпоративных сессий в многопользовательских средах. Ниже описаны затронутые версии пакетов, механика ошибки и шаги по проверке и обновлению системы.

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


Риск связан с нарушением изоляции сессий при использовании libcurl: запрос одного пользователя может быть отправлен по уже аутентифицированному соединению другого, что ведёт к утечке данных и несанкционированному доступу. Критичность высока, так как атака возможна удалённо без предварительных привилегий.

  • Тип ошибки: CWE-488 (неверная обработка аутентификационных данных) — libcurl некорректно управляет состоянием соединения при смене контекста пользователя.
  • CVSS: 9.8 (CRITICAL), вектор CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H — удалённая атака с низким порогом сложности и полным воздействием на конфиденциальность, целостность и доступность.
  • Условия атаки: Требуется, чтобы приложение использовало libcurl с Negotiate-аутентификацией и допускало повторное использование соединений между запросами разных пользователей.
  • Факт эксплуатации: В каталоге CISA KEV подтверждений активной эксплуатации нет. EPSS составляет 0,26% (процентиль 17,4%), что указывает на низкую вероятность эксплуатации в ближайший год.
  • Статус: CVE находится в статусе «Undergoing Analysis» в NVD, однако Ubuntu уже классифицировала её как «medium» и подготовила обновления.

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


Уязвимость затрагивает пакет curl и связанные библиотеки libcurl в дистрибутивах Ubuntu. Ниже перечислены версии, которые содержат уязвимость и требуют обновления. Для LTS-релизов с поддержкой Ubuntu Pro обновления доступны через ESM-инфраструктуру.

  • Ubuntu 14.04 LTS (Pro): curl 7.35.0-1ubuntu2.20+esm22, libcurl3, libcurl3-gnutls, libcurl3-nss.
  • Ubuntu 16.04 LTS (Pro): curl 7.47.0-1ubuntu2.19+esm18, libcurl3, libcurl3-gnutls, libcurl3-nss.
  • Ubuntu 18.04 LTS (Pro): curl 7.58.0-2ubuntu3.24+esm12, libcurl3-gnutls, libcurl3-nss, libcurl4.
  • Ubuntu 20.04 LTS (Pro): curl 7.68.0-1ubuntu2.25+esm7, libcurl3-gnutls, libcurl3-nss, libcurl4.
  • Ubuntu 22.04 LTS: curl 7.81.0-1ubuntu1.27, libcurl3-gnutls, libcurl3-nss, libcurl4.
  • Ubuntu 24.04 LTS: curl 8.5.0-2ubuntu10.13, libcurl3t64-gnutls, libcurl4t64.
  • Ubuntu 26.04 LTS: curl 8.18.0-1ubuntu2.5, libcurl3t64-gnutls, libcurl4t64.

Обратите внимание, что на новых релизах (24.04 и 26.04) имена пакетов изменились на libcurl3t64-gnutls и libcurl4t64.

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


Причина уязвимости кроется в логике повторного использования HTTP-соединений в libcurl. Библиотека кэширует установленные соединения для повышения производительности, но при использовании Negotiate-аутентификации некорректно обрабатывает смену контекста пользователя.

Если первый запрос к определённому хосту выполняется с пустыми учётными данными, libcurl может сохранить состояние соединения, ассоциированное с последующей аутентификацией другого пользователя. При повторном использовании этого соединения для запроса третьего пользователя данные могут быть отправлены в чужой аутентифицированный контекст. Это нарушает принцип изоляции сессий и позволяет злоумышленнику перехватить трафик, предназначенный для другого субъекта.

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


Атака эксплуатирует механизм пула соединений (connection pooling) в libcurl. Злоумышленник, контролирующий приложение или среду, в которой работает libcurl, может инициировать запрос с пустыми учётными данными, а затем спровоцировать повторное использование этого соединения для запроса жертвы.

Поскольку Negotiate-аутентификация часто используется в корпоративных средах (Kerberos, NTLM), перехват чужой сессии позволяет злоумышленнику получить доступ к ресурсам, защищённым аутентификацией, без знания пароля жертвы. Механизм атаки не требует взлома самого libcurl, а использует его штатную, но ошибочную логику управления соединениями.

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


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

  • Приложение использует libcurl с поддержкой Negotiate-аутентификации.
  • Приложение допускает повторное использование HTTP-соединений (connection reuse) между запросами.
  • Существует возможность инициировать запрос с пустыми учётными данными к тому же хосту, что и запрос жертвы.
  • Злоумышленник имеет контроль над порядком запросов или может влиять на выбор соединения в пуле.

Без этих условий эксплуатация невозможна, что объясняет оценку Ubuntu как «medium» при высоком CVSS.

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


Типичный сценарий: корпоративное приложение использует libcurl для доступа к внутреннему API с Negotiate-аутентификацией. Злоумышленник, имея доступ к приложению или сети, отправляет запрос с пустыми учётными данными. libcurl устанавливает соединение и кэширует его.

Затем, когда пользователь B выполняет запрос, libcurl повторно использует то же соединение, но с аутентификацией пользователя A (если та была ранее установлена в этом контексте). Запрос пользователя B уходит по чужой сессии, и злоумышленник получает доступ к данным пользователя A.

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


Публичный эксплойт в виде готового PoC или подтверждённой эксплуатации в реальных атаках в доступных источниках не указан. Ссылка на HackerOne указывает на то, что уязвимость была обнаружена через программу bug bounty, но детали отчёта не раскрыты публично. Отсутствие сведений о PoC не означает, что эксплойт не существует, но подтверждённых данных о его использовании в дикой природе нет.

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


Специфичные IOC (индикаторы компрометации) для CVE-2026-19931 в официальных источниках не опубликованы. Ниже приведены неспецифичные точки контроля, которые могут помочь в обнаружении аномальной активности:

  • Необычные паттерны в HTTP-журналах: запросы от одного IP-адреса с разными заголовками Authorization, но с одинаковым идентификатором соединения (если логируются).
  • Аномальные задержки или повторные попытки аутентификации с пустыми учётными данными.
  • Журналы аудита приложений, использующих libcurl: поиск записей о повторном использовании соединений между разными пользователями.

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

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


Для обнаружения атаки рекомендуется:

  • Включить подробное логирование в приложениях, использующих libcurl, с фиксацией идентификаторов соединений и пользователей.
  • Настроить мониторинг HTTP-трафика на уровне прокси или балансировщика нагрузки, отслеживая аномальные паттерны аутентификации.
  • Использовать инструменты SIEM для корреляции событий аутентификации и доступа к ресурсам, выявляя случаи, когда один пользователь получает доступ к данным другого.
  • Проверять журналы Kerberos (если используется) на аномальные TGT/TGS-запросы, связанные с повторным использованием сессий.

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


Для проверки версии установленного пакета curl и связанных библиотек в Ubuntu используйте следующие команды. Замените <имя-пакета> на конкретное имя пакета (например, curl, libcurl4, libcurl3t64-gnutls), если нужно проверить конкретный компонент.

Bash:
cat /etc/os-release
uname -r
apt-cache policy <имя-пакета>
ubuntu-security-status

Команда apt-cache policy покажет установленную и доступную версию пакета. Если установленная версия совпадает с одной из уязвимых, перечисленных выше, требуется обновление.

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


Основное средство устранения — обновление пакета curl и связанных библиотек до исправленных версий. Для Ubuntu 22.04 LTS и новее обновления доступны через стандартные репозитории. Для LTS-релизов с поддержкой Ubuntu Pro (14.04–20.04) обновления доступны через ESM-инфраструктуру.

  • Ubuntu 22.04 LTS и новее:

    Bash:
    sudo apt update
    sudo apt upgrade curl libcurl4 libcurl3t64-gnutls
  • Ubuntu 14.04–20.04 LTS (Pro):

    Bash:
    sudo apt update
    sudo apt upgrade curl libcurl3 libcurl3-gnutls libcurl3-nss libcurl4

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

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


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

  • Отключить повторное использование соединений в libcurl, если это позволяет конфигурация приложения (например, через параметр CURLOPT_FORBID_REUSE или аналогичные настройки).
  • Ограничить использование Negotiate-аутентификации в приложениях, где это возможно, заменив её на более безопасные методы (например, Bearer-токены).
  • Разделить приложения по пользователям или процессам, чтобы избежать общего пула соединений.
  • Усилить мониторинг HTTP-трафика для выявления аномальной активности.

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

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


После обновления проверьте, что все пакеты обновлены до исправленных версий:

Bash:
apt-cache policy curl libcurl4 libcurl3t64-gnutls

Убедитесь, что версия пакета не совпадает с уязвимой. Также проверьте, что приложения, использующие libcurl, перезапущены и используют новую версию библиотеки. Для этого можно проверить загрузку библиотеки в процессе:

Bash:
lsof -p <PID> | grep libcurl

Если версия в выводе совпадает с уязвимой, перезапустите приложение.

Вывод​


CVE-2026-19931 представляет серьёзный риск для систем, использующих libcurl с Negotiate-аутентификацией и повторным использованием соединений. Хотя Ubuntu классифицировала её как «medium», высокий CVSS и потенциальный ущерб требуют оперативного обновления. Администраторам следует проверить версии пакетов, применить обновления и усилить мониторинг до тех пор, пока все системы не будут приведены в безопасное состояние.

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


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

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


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