CVE-2026-63382 в Ubuntu: рассинхронизация HTTP-запросов в libevent

CVE: CVE-2026-63382
Продукт: Ubuntu
Дата публикации: 20.08.2026
Критичность: CRITICAL
CVSS: 9.2 (4.0)
EPSS: 0,59%; процентиль 45,46%
CISA KEV: нет подтверждения в каталоге CISA KEV

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


В HTTP-парсере библиотеки libevent обнаружена уязвимость, позволяющая атакующему внедрять скрытые запросы через рассинхронизацию границ сообщений. В Ubuntu затронуты LTS-релизы с версиями пакета ниже 2.1.13. Материал описывает механику ошибки, условия эксплуатации и порядок проверки системы.

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


Идентификатор: CVE-2026-63382. Классификация: CWE-444 (HTTP Request Smuggling). CVSS v4.0: 9.2 (CRITICAL). Вектор: CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:L/SC:L/SI:L/SA:N. EPSS: 0.00587 (процентиль 0.45%). Статус CISA KEV: не подтверждено. Дата публикации: 2026-08-20. Ошибка затрагивает парсинг заголовков Transfer-Encoding и обработку chunked-кодирования в компоненте evhttp.

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


Согласно данным Ubuntu OSV, уязвимы следующие версии пакета libevent в дистрибутивах Ubuntu:

  • Ubuntu 14.04 LTS (trusty): 2.0.21-stable-1ubuntu1.14.04.2
  • Ubuntu 16.04 LTS (xenial): 2.0.21-stable-2ubuntu0.16.04.1
  • Ubuntu 18.04 LTS (bionic): 2.1.8-stable-4build1
  • Ubuntu 20.04 LTS (focal): 2.1.11-stable-1
  • Ubuntu 22.04 LTS (jammy): 2.1.12-stable-1build3
  • Ubuntu 24.04 LTS (noble): 2.1.12-stable-9ubuntu2
  • Ubuntu 26.04 LTS (resolute): 2.1.12-stable-10build2

Затронуты бинарные пакеты: libevent-2.0-5, libevent-core-2.0-5, libevent-extra-2.0-5, libevent-openssl-2.0-5, libevent-pthreads-2.0-5 (для 14.04/16.04) и libevent-2.1-6, libevent-core-2.1-6, libevent-extra-2.1-6, libevent-openssl-2.1-6, libevent-pthreads-2.1-6 (для 18.04/20.04), а также libevent-2.1-7, libevent-core-2.1-7, libevent-extra-2.1-7, libevent-openssl-2.1-7, libevent-pthreads-2.1-7 (для 22.04/24.04/26.04).

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


Ошибка возникает из-за непоследовательной обработки заголовков Transfer-Encoding и chunked-фрейминга в файле http.c. Три дефекта приводят к рассинхронизации:

  • Функция evhttp_find_header выбирает только первый заголовок при наличии дубликатов, игнорируя последующие значения.
  • Отсутствует функция evhttp_check_transfer_encoding_, из-за чего сравнение всей строки не распознаёт валидные списки, заканчивающиеся значением chunked.
  • Функция evhttp_handle_chunked_read использует EVBUFFER_EOL_CRLF вместо EVBUFFER_EOL_CRLF_STRICT, принимая одиночный LF как терминатор chunk.

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


Атака эксплуатирует различия в интерпретации HTTP-запросов между прокси-сервером и приложением на libevent. Атакующий отправляет запрос, который прокси и libevent обрабатывают по-разному из-за дефектов парсинга. Это позволяет скрыть второй HTTP-запрос внутри тела первого. Когда прокси завершает обработку, libevent продолжает читать данные, воспринимая их как новый запрос. Результат — HTTP Request Smuggling: обход контролов доступа, отравление кэша или выполнение действий от имени другого пользователя.

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


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

  • Приложение с уязвимой версией libevent должно работать за прокси-сервером, который обрабатывает HTTP-запросы иначе.
  • Атакующий должен иметь сетевой доступ к прокси-серверу.
  • Аутентификация не требуется (PR:N в CVSS).
  • Взаимодействие пользователя не требуется (UI:N).
  • Сложность атаки низкая (AC:L), но требуется предварительная подготовка (AT:P) для построения корректного smuggling-запроса.

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


Атакующий отправляет запрос с заголовком Transfer-Encoding: chunked и намеренно сформированным телом, содержащим скрытый запрос. Прокси-сервер обрабатывает его как один запрос, следуя строгим стандартам. Libevent, из-за ошибки в обработке LF-терминаторов или дубликатов заголовков, определяет конец первого запроса раньше. Данные, которые прокси считает частью тела, libevent интерпретирует как новый запрос. Если скрытый запрос содержит команду на запись в кэш или изменение сессии, атакующий достигает цели. Это не RCE, а обход логических контролей и отравление состояния.

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


В предоставленных источниках отсутствуют сведения о публичных PoC или подтверждённой эксплуатации в реальных атаках. Наличие исправлений в коммитах GitHub и релизах 2.1.13/2.2.2-alpha указывает на то, что техническое описание ошибки известно разработчикам. Отсутствие данных об эксплуатации не означает, что эксплойт не существует, но подтверждённых публичных инструментов на момент публикации данных не зафиксировано.

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


Специфичных IOC для CVE-2026-63382 в источниках не приведено. Общие точки контроля:

  • Анализ логов прокси-сервера на наличие запросов с аномальными заголовками Transfer-Encoding (дубликаты, смешанные значения).
  • Проверка логов приложения на основе libevent на несоответствия в обработке запросов (например, 400/411 ошибки, которые могут указывать на рассинхронизацию).
  • Мониторинг кэша на наличие неожиданных записей, не соответствующих легитимному трафику.

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

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


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

  • Включить детализированное логирование в прокси-сервере (access log, error log) и анализировать его на предмет аномалий в заголовках Transfer-Encoding.
  • Использовать WAF с правилами, блокирующими дубликаты заголовков Transfer-Encoding и смешанные значения (например, chunked, identity).
  • Настроить алерты на частые ошибки 400 Bad Request или 411 Length Required в бэкенд-приложениях, использующих libevent.
  • Проводить периодический аудит конфигурации прокси и бэкенда для обеспечения согласованности обработки HTTP-заголовков.

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


Для проверки версии установленного пакета libevent в Ubuntu используйте следующие команды. Замените <имя-пакета> на конкретный бинарный пакет (например, libevent-2.1-7), если требуется точная проверка конкретного компонента.

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

Команда apt-cache policy libevent покажет установленную версию и доступные обновления. ubuntu-security-status предоставит сводку по безопасности системы, включая статус CVE-2026-63382, если пакет затронут.

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


Основное средство устранения — обновление пакета libevent до версии, содержащей исправления. Для Ubuntu это означает применение обновлений из официального репозитория, когда они станут доступны. Поскольку в данных Ubuntu OSV указано, что все перечисленные версии уязвимы, а исправления внесены в upstream 2.1.13 и 2.2.2-alpha, ожидаются обновления пакетов в Ubuntu. До выхода обновлений рекомендуется изолировать затронутые системы или применить временные меры. После обновления выполните проверку версии, чтобы убедиться в применении патча.

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


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

  • Настроить прокси-сервер для строгой валидации заголовков Transfer-Encoding: запретить дубликаты, разрешить только одно значение, отклонять запросы с смешанными значениями (например, chunked, identity).
  • Отключить поддержку chunked-кодирования на уровне прокси, если это допустимо архитектурно, принудительно используя Content-Length.
  • Ограничить доступ к бэкенд-приложениям, использующим libevent, только из доверенных сетей, если это возможно.
  • Усилить мониторинг на предмет аномального трафика, как описано в разделе «Обнаружение».

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

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


После применения обновления проверьте, что версия пакета libevent соответствует исправленной. Используйте команду apt-cache policy libevent и убедитесь, что установленная версия не входит в список уязвимых версий, приведённый в разделе «Затронутые продукты». Также можно проверить наличие обновлений через ubuntu-security-status. Если система подключена к репозиторию безопасности Ubuntu, команда apt list --upgradable покажет доступные обновления. Убедитесь, что после обновления приложение перезапущено, чтобы новая библиотека была загружена в память.

Вывод​


CVE-2026-63382 представляет серьёзную угрозу для систем Ubuntu, использующих libevent в связке с прокси-серверами. Механика HTTP Request Smuggling позволяет обходить контролы доступа и отравлять кэш, что может привести к компрометации данных и сессий. Несмотря на высокий CVSS-балл, EPSS-оценка низкая, что указывает на ограниченную вероятность эксплуатации в ближайшем будущем. Тем не менее, администраторы должны проактивно отслеживать статус обновления пакета libevent в своих дистрибутивах и применять временные меры защиты до выхода патча. Регулярная проверка версий и мониторинг логов являются ключевыми элементами реагирования.

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


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

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


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