Безопасность
Уязвимости, вредоносные крейты и инциденты безопасности экосистемы.
Сборочный скрипт libz-sys версий до 1.1.31 включительно печатал в stdout полное окружение сборки — вместе со всеми секретами, которые в нём есть. Cargo сохраняет вывод сборочных скриптов в каталоге target/, поэтому значения утекали во всё, что этот каталог хранит или передаёт: кэши CI, артефакты, общие диски.
В библиотеках juniper, juniper_hyper и juniper_warp закрыты четыре уязвимости отказа в обслуживании с оценкой 7.5 (HIGH). Каждой хватает одного неаутентифицированного запроса.
В библиотеке zip-rs, написанной на Rust и насчитывающей около 10 миллионов загрузок в неделю, обнаружена уязвимость CVE-2026-115905 с максимальной оценкой опасности 10 из 10. Она позволяет создавать архивы, которые при просмотре списка показывают одно содержимое, а при распаковке извлекают совершенно другие файлы.
В тестовом раннере cargo-nextest обнаружена уязвимость произвольного выполнения кода. Версии с 0.9.125 по 0.9.149 включительно позволяют команде cargo nextest run --rerun (или -R) при наличии вредоносной переносимой записи запускать произвольный код на этапе сборки.
В FFI-обёртке rustls — rustls-ffi — конструкторы клиентских соединений rustls_client_connection_new() и rustls_client_connection_new_alpn() удерживают ссылку на буфер server_name вызывающего кода после возврата вместо того, чтобы скопировать его. Документация API обещает копирование.
В крейте skiplist опубликованы два бюллетеня, оба оценены в CVSS 4.0.
Два бюллетеня касаются крейтов, которые должны выполняться за константное время, но фактически утекают информацию через задержки.
В крейте webpage приложения, передающие контролируемые атакующим URL, уязвимы к подделке серверных запросов (SSRF) и раскрытию локальных файлов. HTTP::fetch и Webpage::from_url передавали URL в libcurl без ограничения схем, что позволяло обращаться к file:// и внутренним адресам.
Два небольших бюллетеня о неопределённом поведении на границе unsafe.
В async-рантайме tokio опубликованы два бюллетеня. Первый описывает гонку данных в tokio::time::Interval на многопоточном рантайме: poll_tick конкурирует с драйвером времени рантайма. Затронут только Interval — Sleep и Timeout не страдают. Ошибка появилась в версии 1.54.0; исправление вышло в 1.54.1.
Bytecode Alliance выпустила очередную партию бюллетеней (20.10.2026): в ней две критические уязвимости CVSS 9.9 в Cranelift и четыре проблемы в wasi-http/wasmtime. Исправлено в 48.0.7 (и 49.0.4; для части — в 36.0.19).
В написанной на Rust инфраструктуре проксирования Pingora от Cloudflare опубликованы три бюллетеня, затрагивающие HTTP/2-обработку.
Одновременно опубликованы три бюллетеня, связанные с одной причиной: включённый в доверенные корни emSign ECC Root CA - G3 позволяет проходить проверку сертификатов через промежуточные центры emSign, чьи закрытые ключи уже широко известны.
В парсере Markdown pulldown-cmark при включённой опции ENABLE_WIKILINKS вики-ссылка с разделителем « pipe » и пустым отображаемым текстом, например [[a|]], утекает цепочку соседних узлов своего потомка в содержимое, которое следует за ней. Каждая такая ссылка примерно удваивает число событий, что приводит к экспоненциальному росту и отказу в обслуживании при разборе.
Ещё один бюллетень по ammonia (очистка HTML): фильтрация CSS-функции url() не учитывала регистр, из-за чего ограничения на URL можно было обойти (format-injection). Исправлено в 4.2.4 (и 4.1.8 в ветке 4.1).