29 апреля 2026 года разработчики популярной утилиты curl и одноимённой библиотеки libcurl опубликовали сразу восемь бюллетеней безопасности, закрывающих уязвимости различной степени серьёзности. Проблемы затрагивают практически все версии программы, начиная с 7.10.6 и заканчивая 8.19.0 включительно. Новая стабильная версия 8.20.0 устраняет все обнаруженные дефекты и уже доступна для загрузки.
Детали уязвимостей
Curl - это инструмент командной строки и библиотека, используемая миллионами приложений и устройств по всему миру для передачи данных по различным протоколам. Именно поэтому каждая уязвимость в нём потенциально затрагивает огромное количество систем, от серверов и встраиваемых устройств до мобильных платформ. Обновление рекомендуется установить как можно скорее.
Риски путаницы в пуле соединений
Одна из ключевых проблем, обнаруженных в curl, - логические ошибки при повторном использовании существующих сетевых соединений. Библиотека хранит пул недавно открытых подключений, чтобы не создавать их заново для каждого запроса. Однако в некоторых случаях механизм отбора подходящего соединения работал некорректно.
Первая уязвимость под идентификатором CVE-2026-4873 (Common Vulnerabilities and Exposures - общепринятая система идентификации уязвимостей) получила низкий уровень опасности. Она проявляется только при работе с незашифрованными протоколами IMAP, POP3 и SMTP. Если первый запрос к серверу выполнялся по открытому тексту, а второй - с требованием шифрования TLS, libcurl могла ошибочно использовать уже существующее незащищённое соединение. В результате данные второй передачи тоже уходили без шифрования, хотя приложение ожидало защиты.
Следующая уязвимость, CVE-2026-5545, имеет средний уровень серьёзности. Она затрагивает механизм аутентификации Negotiate, который используется в корпоративных средах с протоколом Kerberos. Если приложение сначала выполняло запрос с учётными данными одного пользователя, а затем - с данными другого, libcurl могла переиспользовать прежнее соединение, думая, что аутентификация уже пройдена. Фактически второй запрос выполнялся в контексте первого пользователя, что позволяло обойти контроль доступа.
Проблема CVE-2026-5773 касается протокола SMB (протокол сетевого доступа к файлам и принтерам). Здесь ошибка заключалась в том, что при выборе соединения из пула не учитывалось имя общего ресурса (share). В результате запрос на скачивание файла мог попасть в неправильную директорию, то есть загрузить не тот файл или отправить данные не туда. Разработчики отмечают, что поддержка SMB версии 1 считается устаревшей и небезопасной, и её планируют полностью удалить в течение 2026 года. Уязвимость имеет низкий уровень опасности.
Утечка учётных данных через прокси-серверы
Особого внимания заслуживают три уязвимости, связанные с передачей аутентификационных данных между разными прокси-серверами.
Первая из них, CVE-2026-6253 (средний уровень), возникает, когда curl настроен на использование разных прокси для разных схем URL (например, HTTP и HTTPS). Если пользователь отправляет запрос через первый прокси, требующий аутентификации, а затем следует перенаправление на другой прокси, не требующий логина, библиотека может ошибочно передать второму прокси учётные данные, закодированные в Base64. Хотя злонамеренный прокси не узнает адрес первого, он может попытаться использовать эти данные для доступа к другим ресурсам.
Вторая уязвимость в этой категории - CVE-2026-6429. Она связана с использованием файла .netrc, в котором хранятся логины и пароли для различных серверов. Если приложение выполняет запрос к одному хосту, а затем перенаправляется на другой, и оба запроса проходят через один и тот же HTTP-прокси с повторным использованием соединения, пароль от первого хоста может быть передан второму. Проблема затрагивает только незашифрованные HTTP-соединения и имеет средний уровень опасности.
Третья уязвимость, CVE-2026-7168, также средняя, возникает при смене прокси-сервера в пределах одного дескриптора (handle). Если сначала используется аутентификация Digest (дайджест-аутентификация) на прокси A, а затем на том же дескрипторе выполняется запрос через прокси B, то заголовок Proxy-Authorization, относящийся к прокси A, может быть передан прокси B. Злоумышленник, контролирующий прокси B, может использовать этот заголовок для выдачи себя за клиента при общении с прокси A. Уязвимость не затрагивает командную строку curl, но опасна для приложений, использующих libcurl и динамически меняющих прокси.
Проблемы с сертификатами и файлами cookie
Уязвимость CVE-2026-6276 (низкий уровень) проявляется только при использовании библиотеки libcurl, но не командной строки. Если приложение сначала задаёт собственный заголовок Host для запроса к серверу, а затем выполняет второй запрос без этого заголовка, данные о cookie первого хоста могут быть отправлены второму. Это происходит из-за того, что библиотека запоминает имя хоста из заголовка и продолжает использовать его для сопоставления cookie. Проблема усугубляется тем, что для HTTPS такая атака маловероятна из-за необходимости корректного SNI, но в открытом HTTP она вполне возможна.
Наконец, уязвимость CVE-2026-7009 (средний уровень) затрагивает только системы Apple (macOS, iOS, iPadOS и другие), на которых curl собран с бэкендом на основе OpenSSL (или его форков, таких как BoringSSL, LibreSSL) и при этом использует системное хранилище сертификатов Apple SecTrust. В такой конфигурации механизм OCSP stapling (технология, позволяющая серверу предоставить подтверждение действительности своего сертификата без обращения к центру сертификации) перестаёт работать корректно. Клиент не может обнаружить отозванный сертификат и считает соединение безопасным, хотя на самом деле оно может быть скомпрометировано.
Что делать?
Разработчики настоятельно рекомендуют всем пользователям обновиться до версии curl и libcurl 8.20.0. Для тех, кто не может выполнить обновление немедленно, существуют временные меры: отключение поддержки устаревших протоколов (SMB, открытые IMAP/POP3/SMTP), отказ от аутентификации Negotiate или от использования нескольких прокси с разными учётными данными. Однако самый надёжный способ защиты - установка свежей версии.
Восемь уязвимостей, исправленных одним релизом, - серьёзный сигнал для администраторов и разработчиков. Даже если каждая из них кажется редкой или сложной в эксплуатации, их совокупность охватывает множество сценариев атак. Обновление curl должно стать приоритетной задачей для любой организации, использующей эту библиотеку.
Ссылки
- https://curl.se/docs/CVE-2026-7168.html
- https://curl.se/docs/CVE-2026-7009.html
- https://curl.se/docs/CVE-2026-6429.html
- https://curl.se/docs/CVE-2026-6276.html
- https://curl.se/docs/CVE-2026-6253.html
- https://curl.se/docs/CVE-2026-5773.html
- https://curl.se/docs/CVE-2026-5545.html
- https://curl.se/docs/CVE-2026-4873.html