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

CVE-2023-38545

CVE-2023-38545: переполнение буфера SOCKS5 в curl и libcurl

Проблема затрагивает libcurl 7.69.0–8.3.0 при использовании SOCKS5 с передачей имени хоста прокси и подходящих условиях буфера/медленного handshake. Обновите curl/libcurl минимум до 8.4.0 или проверьте исправление поставщика пакета.

Проверено 26 октября 2026High по advisory проекта curl; Canonical указывает CVSS 3.1 9.8 Critical. Не переносите эту оценку без оговорки на все приложения: эксплуатация зависит от способа использования SOCKS5 и параметров буфера.

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

Администраторам серверов и разработчикам приложений, использующих curl/libcurl через SOCKS5 с удалённым разрешением имён; DevOps и владельцам системных пакетов. Важна не только марка продукта, но и конкретная версия, способ установки, операционная система и конфигурация.

В чём риск

При выполнении условий ошибка может привести к переполнению heap в процессе клиента. Вариант воздействия зависит от приложения и контекста запуска; само наличие curl в системе не доказывает уязвимость.

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

libcurl 7.69.0–8.3.0 включительно. Условия: удалённое разрешение имени через SOCKS5 (socks5h:// или CURLPROXY_SOCKS5_HOSTNAME), имя длиннее 255 байт и достаточно медленное согласование. Для переполнения heap также важен размер буфера; curl CLI обычно не уязвим при стандартном размере, но ограничение скорости может уменьшить буфер. Другие приложения на libcurl проверяйте отдельно.

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

Исправлено в curl/libcurl 8.4.0 upstream. Для системных пакетов используйте обновление поставщика ОС: Ubuntu сообщает, например, исправленные пакеты 8.2.1-1ubuntu3.1 для 24.04/23.10, 7.88.1-8ubuntu2.3 для 23.04 и 7.81.0-1ubuntu1.14 для 22.04. Пакетная версия с backport может быть ниже 8.4.0.

Что сделать

  1. 1Установите, какой компонент и пакет используется: curl CLI, libcurl, контейнерный образ или встроенная библиотека приложения; проверьте версии в среде выполнения, а не только на хосте.
  2. 2Обновите пакет до исправленного релиза поставщика (upstream 8.4.0 или новее) и пересоберите приложения, статически включающие старую libcurl. Сверьте backport с advisory ОС.
  3. 3До обновления временно исключите SOCKS5 с удалённым разрешением имени (socks5h://, --socks5-hostname, CURLPROXY_SOCKS5_HOSTNAME) либо используйте локальное разрешение имени, если архитектура и политика сети это допускают.
  4. 4После обновления проверьте lockfile/образ и фактическую динамически загруженную библиотеку, а также обычные сетевые сценарии приложения. Не проверяйте уязвимость специально сформированными длинными hostname на продуктивном сервисе.

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

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

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

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

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