В Rust Coreutils 0.
Вышла новая версия uutils coreutils 0.9.0. Уровень совместимости с эталонным набором тестов GNU Coreutils составил 90,58% (было 94,74%). Снижение объясняется обновлением тестового набора до GNU Coreutils 9.11, в котором добавлено 25 новых тестов. Успешно пройдено 625 тестов (было 630), неудачных — 56 (было 21).
Устранены 44 уязвимости, выявленные в ходе аудита компанией Zellic. Большинство вызваны расхождением поведения с GNU coreutils или состоянием гонки (например, подмена файла на симлинк между проверкой и выполнением операции). В контексте запуска cp, chmod, mv с правами root такие уязвимости позволяют скопировать или перезаписать произвольные файлы. Для защиты задействован модуль uucore::safe_copy.
Продолжен перевод утилит на rustix (переведены id, tr, timeout, sort, wc, tail, cp, who, factor). Проведена чистка от unsafe-операций. В cat, wc, head, tail, yes, cp, tee, unexpand задействованы вызовы splice(), tee() и pipe(), исключающие лишнее копирование данных. Улучшена совместимость numfmt, date, tr, cksum, factor, head, stat, sort. В ln, dd, mktemp, tty добавлена сборка в WebAssembly/WASI.
🐧Обсудить в Чате Linux