Приложение со своей libcurl отправляет данные серверу по HTTP/2 и получает RST_STREAM. Ниже отдельно показан системный curl со своей libcurl; две копии обновляются отдельно.

curl исправил опасную ошибку при отправке данных по HTTP/2

Приложение со своей libcurl и системный curl используют отдельные копии библиотеки.

Проект curl выпустил версию 8.23.0 с исправлением CVE-2026-92392. Уязвимость получила высокий уровень опасности (High): специально подготовленный сервер может вызвать ошибку памяти при отправке данных через HTTP/2. При определённых условиях она позволяет выполнить код на стороне клиента. Исправление опубликовано 14 октября.

Как возникает ошибка

Во время отправки данных curl неверно обрабатывает серверный сигнал RST_STREAM с причиной HTTP_1_1_REQUIRED или REFUSED_STREAM. Возникает use-after-free — обращение к уже освобождённой памяти. Для превращения этой ошибки в выполнение кода атакующему нужны сведения о конкретной сборке, архитектуре и распределении памяти, а также подходящие условия работы TLS и точная синхронизация двух параллельных передач.

Затронуты curl 8.12.0–8.22.0 включительно. Исключения: 8.20.2 и новее внутри ветки 8.20.x, 8.16.2 и новее внутри 8.16.x, 8.14.3 и новее внутри 8.14.x. Версии ниже 8.12.0 и начиная с 8.23.0 этой ошибки не содержат. Одной проверки «версия новее 8.14.3», конечно, недостаточно: важна и ветка.

Что обновлять

Проблема касается и командной утилиты curl, и приложений с библиотекой libcurl. Разработчики напоминают: «libcurl используется многими приложениями, но это не всегда указано явно». Поэтому обновление системной утилиты само по себе не подтверждает исправление библиотеки, встроенной в отдельную программу.

Проект рекомендует обновиться до 8.23.0 либо применить исправляющий патч. Ещё один предложенный обходной путь — отказаться от HTTP/2. Для приложения с собственной копией libcurl нужен выпуск, в котором обновлена именно эта зависимость; проверять следует используемую библиотеку, а не только установленный рядом curl.

#SOFTWARE #NET

@digitaltimeslv

Схема: digital times.

Поделиться

TelegramFacebookLinkedInWhatsAppX