Все уязвимости

CVE-2023-38039

libcurl: сервер мог исчерпать память клиента заголовками HTTP

Проверьте libcurl 7.84.0–8.2.1 при запросах к недоверенным HTTP-серверам. Поток заголовков мог исчерпать heap-память; в 8.3.0 добавлен лимит 300 КБ на ответ.

Проверено 3 ноября 2026Medium по шкале curl, CWE-770.

Кому нужно проверить

Разработчикам сервисов и агентов, использующих libcurl для внешних HTTP-запросов. Важна не только марка продукта, но и конкретная версия, способ установки, операционная система и конфигурация.

В чём риск

Сервер мог постепенно исчерпать память клиента и вызвать отказ процесса. Чтение или выполнение кода из advisory не следует.

Затронутые версии

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

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

Исправлено в libcurl 8.3.0: после 300 КБ заголовков возвращается ошибка.

Что сделать

  1. 1Инвентаризируйте все копии libcurl и запросы к пользовательским URL.
  2. 2Проверьте лимиты ответа и тайм-ауты в API приложения на staging.
  3. 3Обновите до 8.3.0 или исправленного пакета, пересоберите статические приложения.
  4. 4До обновления ограничьте недоверенные endpoints; это временное снижение риска.
  5. 5Проверьте потребление памяти и не пишите полные заголовки внешних ответов в публичные логи.

Как заголовки расходуют память

Каждый заголовок сохраняется до обработки приложением.

  1. 1Клиент подключается к HTTP-серверу.
  2. 2Сервер присылает много заголовков.
  3. 3libcurl сохраняет их без общего лимита.
  4. 4Процесс может исчерпать heap-память.

Примеры конфигурации и проверки

Проверить системную версию (shell)
curl -q --version

Read-only команда без сетевого запроса; для встроенной libcurl требуется отдельная инвентаризация.

Как не подпустить ботов к сайту

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

Первоисточники

Снизьте шанс атаки до того, как бот дойдёт до сайта

Подключите BotProtection как фильтр перед сайтом: подозрительные автоматизированные запросы отсекаются до обращения к вашему серверу. Это значительно снижает вероятность автоматизированной атаки, но не исправляет саму уязвимость, поэтому обновление и настройка компонентов остаются обязательными.