24 июня, после почти двух месяцев разработки, 531 коммита и исправления 276 ошибок, состоялся выпуск 8.21.0 (№275) кроссплатформенной многофункциональной консольной утилиты и библиотеки curl, написанных на языке C и распространяемых по лицензии curl.
Основные изменения
Безопасность
- Средний уровень серьёзности
- CVE-2026-8925: двойное освобождения памяти SASL;
- CVE-2026-8927: утечка состояния аутентификации Digest между прокси-серверами в
env-set; - CVE-2026-9079: утечка устаревших паролей к прокси-серверам;
- CVE-2026-11856: утечка состояния аутентификации Digest между доменами.
- Низкий уровень серьёзности
- CVE-2026-8286: неправильное повторное использование соединения STARTTLS;
- CVE-2026-8458: неправильное повторное использование для различных сервисов;
- CVE-2026-8924: уязвимость в алгоритме анализа файлов
cookiec точкой в конце домена, позволявшая злонамеренному HTTP-серверу устанавливать «супер-cookie», обходивших проверку по списку Public Suffix List; - CVE-2026-8926: утечка пароля при использовании
netrcи указании имени пользователя в URL-адресе; - CVE-2026-8932: неполное совпадение конфигурации
mTLSпри повторном использовании соединения; - CVE-2026-9080: использование памяти после освобождения после паузы в коллбаке сокета;
- CVE-2026-9545: раскрытие ранних данных HTTP/3 (с опцией
CURLSSLOPT_EARLYDATA); - CVE-2026-9546: отправка старого реферера;
- CVE-2026-9547: неправильная проверка хоста при использовании SSH;
- CVE-2026-10536: использование памяти после освобождения дерева зависимостей потоков HTTP/2;
- CVE-2026-11352: цикл ожидания в QUIC с датаграмами UDP нулевой длины;
- CVE-2026-11564: сохранение доверия нативному хранилищу сертификатов даже после переключения на пользовательские сертификаты;
- CVE-2026-11586: исчерпание памяти WS Auto-PONG;
- CVE-2026-12064: proto-default пропускал проверку SSH.
Другие изменения
- улучшения в именованных шаблонах поиска. Примеры:
curl "https://img.example/photo[<number>1-1000].jpg" -o "local-#<number>.jpeg"
curl "https://example.{<tld>org,com}/{<object>apples,mugs,coins}/img[<index>1-1000].jpg" -o "file-#<index>-#<tld>-#<object>"
curl -T "{<counter>one,two,three}.jpg" https://ul.example/ -o "save-#<counter>"
curl -T "{<counter>one,two,three}.jpg" https://{<host>ul1,ul2,ul3}.example/ -o "save-#<counter>-#<host>"
- добавлена поддержка методов
CONNECTиMASQUE CONNECT-UDPHTTP/3-прокси; - удалено отслеживание зависимостей потоков HTTP/2;
- удалена поддержка
CURLAUTH_DIGEST_IE; - добавлена поддержка открытых ключей хоста SHA256 с использованием
libssh.
Предстоящие удаления
- локальные реализации криптографических алгоритмов;
- поддержка NTLM, SMB и TLS-SRP.
>>> Полный список изменений на curl.se (и в первой редакции этой новости)
>>> Видеопрезентация 8.21.0 на youtube
>>> Документация

