Коротко: 2 сентября 2026 вышел curl 8.22.0. Закрыты 9 CVE — уязвимостей в OpenSSL, HTTP/2 server push, LDAP, cookies и wolfSSL. Устранено 302 ошибки, 4 новые опции CLI. Если вы используете curl или libcurl в скриптах загрузки файлов — обновите как можно скорее.
Содержание
Что такое curl
curl — это свободная кросс-платформенная утилита командной строки и библиотека libcurl для передачи данных по сети. Она поддерживает свыше 25 протоколов: HTTP, HTTPS, FTP, SFTP, SCP, SMTP, IMAP, LDAP и другие. По данным проекта, curl установлен более чем на 30 миллиардах устройств — от смартфонов и смарт-телевизоров до серверов и встроенных систем.
Для пользователей Loadfile curl — это прежде всего инструмент для автоматизированной загрузки и выгрузки файлов по URL. Команда curl -O https://example.com/file.zip скачивает файл по прямой ссылке; curl -F file=@document.pdf https://api.example.com/upload отправляет файл на сервер. Именно поэтому уязвимости в curl напрямую касаются безопасности любых сценариев работы с файлами через сеть.
Разработку curl ведёт Даниэль Стенберг (Daniel Stenberg) при поддержке широкого сообщества. Предыдущий крупный релиз, curl 8.21.0, вышел 24 июня 2026 года и закрыл рекордные 18 уязвимостей, включая 25-летний баг в обработке OpenLDAP. Версия 8.22.0 продолжает регулярный цикл.
Масштаб релиза: цифры
Согласно официальному посту автора проекта Даниэля Стенберга от 2 сентября 2026 года, curl 8.22.0 стал 276-м релизом в истории проекта:
- 70 дней разработки с момента выхода 8.21.0 (24 июня 2026).
- 302 багфикса — исправления в парсерах протоколов, обработке соединений и работе с файлами.
- 525 коммитов от 85 участников, из которых 55 — новые контрибьюторы.
- 4 новых параметра функции
curl_easy_setopt()в libcurl API. - 4 новые опции в интерфейсе командной строки.
- 9 закрытых CVE — исправлений уязвимостей безопасности.
С выходом 8.22.0 общее число публично раскрытых уязвимостей curl за всё время существования проекта достигло 215. Следующий плановый релиз намечен на конец октября 2026 года.
9 CVE-уязвимостей в curl 8.22.0
Вместе с релизом 8.22.0 опубликовано 10 новых CVE: 9 относятся к curl и libcurl, одна — к утилите wcurl (обёртка вокруг curl для упрощённого скачивания файлов). Ни одна из уязвимостей не имеет публичного proof-of-concept на момент релиза — это стандартная практика ответственного раскрытия.
CVSS-оценка (от 0 до 10) показывает серьёзность: 9–10 — критическая, 7–8,9 — высокая, 4–6,9 — средняя, ниже 4 — низкая. Большинство уязвимостей curl требуют специфических условий, поэтому реальный риск на практике ниже теоретической оценки.
Уязвимости в OpenSSL и TLS
- CVE-2026-80229 — OpenSSL provider use-after-free. Использование памяти после освобождения в провайдере OpenSSL при обработке TLS-соединений. Могло приводить к сбою или выполнению произвольного кода при особых условиях.
- CVE-2026-80230 — OpenSSL pinning bypass. Обход механизма закрепления сертификата (certificate pinning): при определённых конфигурациях libcurl допускал подключение к серверу с иным сертификатом, чем ожидался.
- CVE-2026-80231 — native CA store conn reuse. Неверное повторное использование соединения при работе с системным хранилищем CA-сертификатов (native CA store) могло приводить к использованию скомпрометированного соединения для последующих запросов.
- CVE-2026-82208 — wolfSSL CA-cache hit overrides callback. В конфигурациях с wolfSSL попадание в кэш CA-записей подавляло пользовательский callback верификации сертификата, в результате чего ненадёжный сертификат мог быть принят без проверки кастомной логикой.
HTTP/2, LDAP и аутентификация
- CVE-2026-18924 — HTTP/2 server push UAF. Use-after-free при обработке HTTP/2 server push: если сервер агрессивно отправлял push-ответы, curl мог обращаться к уже освобождённой памяти.
- CVE-2026-19931 — Negotiate ambient user conn reuse. Повторное использование соединения с аутентификацией Negotiate (Kerberos/NTLM) в «ambient» режиме могло передавать данные другого пользователя в рамках одного процесса.
- CVE-2026-13608 — OpenLDAP SASL authentication bypass. Обход SASL-аутентификации при LDAP-запросах через OpenLDAP: в определённых конфигурациях запрос проходил без корректной проверки учётных данных.
Уязвимости в механизме cookies
- CVE-2026-80255 — secure cookie attribute bypass with tab. Символ табуляции в значении cookie-заголовка позволял обойти атрибут
Secure: cookie, помеченная как «только HTTPS», могла быть передана по HTTP-соединению. - CVE-2026-82209 — domain-scoped PSL domain cookie. Некорректная обработка доменов из Public Suffix List (PSL) позволяла одному домену устанавливать cookie для родственного PSL-домена, что создавало риск похищения сессии при определённых топологиях сайтов.
wcurl: CVE-2026-80256
CVE-2026-80256 — wcurl backslash bypass. wcurl — минималистичная обёртка над curl для удобного скачивания файлов по URL. Символ обратного слэша (\) в URL передавался без экранирования в командную строку curl, что в определённых оболочках позволяло выполнить произвольные аргументы. Затрагивает только пользователей wcurl, а не curl напрямую.
Новые опции и возможности
Помимо исправлений безопасности и ошибок, curl 8.22.0 добавляет новые функции API и командной строки. Конкретные названия новых опций будут задокументированы в официальном руководстве на curl.se с выходом релиза.
- 4 новых параметра
curl_easy_setopt(). Расширения API libcurl для встроенных приложений, использующих curl как библиотеку. Это значимо для разработчиков программ, которые внутренне применяют libcurl для скачивания файлов (менеджеры загрузок, браузеры, облачные клиенты). - 4 новые опции CLI. Дополнительные флаги командной строки расширяют возможности скриптов автоматизации загрузки и выгрузки файлов.
- 302 прочих исправления. Улучшения охватывают работу с прокси, обработку редиректов, разбор HTTP-заголовков, поведение при таймаутах и работу с несколькими параллельными соединениями.
Что это значит для работы с файлами
Безопасность TLS-соединений
Четыре CVE затрагивают OpenSSL и wolfSSL. Если ваши скрипты используют curl для скачивания файлов по HTTPS, обновление закрывает риски обхода проверки сертификата и use-after-free в TLS-коде.
Cookies в сессионных запросах
Два CVE касаются механизма cookies: передача secure-cookie по HTTP и утечка через PSL-домен. Актуально для скриптов, которые используют --cookie-jar при работе с авторизованными сессиями.
HTTP/2 параллельные загрузки
CVE-2026-18924 закрывает use-after-free в HTTP/2 server push. Если вы используете curl с --http2 для параллельной загрузки нескольких файлов, обновление устраняет потенциальный сбой.
Скрипты с wcurl
Если вы используете wcurl как упрощённую замену curl, CVE-2026-80256 — прямой повод обновиться: URL с обратным слэшем мог неожиданно интерпретироваться оболочкой.
Обновление curl актуально и для встроенных систем: curl используется в прошивках телевизоров, IoT-устройств и NAS-серверов как стандартный HTTP-клиент. По аналогии с тем, как в марте 2026 года rsync 3.5 закрыл 33 CVE, включая критическую, регулярное обновление curl — обязательная практика для любого окружения, где идёт передача файлов по сети.
Как обновить curl
curl 8.22.0 доступен для всех основных платформ. Метод обновления зависит от операционной системы:
- Linux (apt/dnf/pacman). Используйте пакетный менеджер дистрибутива:
sudo apt update && sudo apt upgrade curl(Debian/Ubuntu) илиsudo dnf upgrade curl(RHEL/Fedora). Некоторые дистрибутивы получат пакет с небольшой задержкой. - macOS. Через Homebrew:
brew upgrade curl. Системный curl от Apple обновляется отдельно через macOS Software Update. - Windows. Через winget:
winget upgrade curl.curl. Можно также скачать бинарник напрямую с curl.se/windows. - Проверка версии. После обновления выполните
curl --version: первой строкой должна бытьcurl 8.22.0. - Приложения на libcurl. Если вы разрабатываете программу, использующую libcurl, обновите зависимость в вашем проекте и пересоберите. Новые
curl_easy_setopt()-опции доступны после обновления заголовочных файлов.
Пользователи OpenSSH 10.5 и других инструментов передачи данных должны поддерживать их в актуальном состоянии по тем же соображениям: большинство уязвимостей в сетевых утилитах эксплуатируются через специально сформированные данные на сервере, а не на стороне пользователя.
