Пакет rust-coreutils изначально был включён по умолчанию в выпуске Ubuntu 25.10, но в LTS-ветке Ubuntu 26.04 был совершён откат на поставку утилит cp, mv и rm из набора GNU Coreutils. Варианты cp, mv и rm были возвращены из-за проблем с безопасностью, выявленных в ходе аудита кодовой базы Rust Coreutils. Большая часть уязвимостей в Rust Coreutils вызвано наличием состояния гонки, позволяющим изменить данные в момент после проверки корректности информации, но до выполнения операции с ними (TOCTOU — Time-Of-Check-To-Time-Of-Use). Среди прочего, подобные уязвимости позволяют подменить файл на символическую ссылку в момент между завершением проверки и началом выполнения операции.
В контексте использования утилит cp, mv и rm в системных скриптах, запускаемых с правами root, подстановка символической ссылки даёт возможность скопировать, перезаписать или удалить произвольные файлы. Например, при рекурсивном удалении каталогов утилита rm вначале проверяла все каталоги, а затем последовательно удаляла их в обратном порядке, вызывая функцию rmdir(). Если подменить родительский каталог на символическую ссылку сразу после проверки этого каталога, но до проверки вложенных в него дочерних каталогов, можно добиться удаления любого каталога в системе при ежедневном запуске из cron скрипта /etc/cron.daily/apport, который работая с правами root рекурсивно удаляет содержимое каталога /var/crash, доступного на запись всем пользователям в системе.
Источник: http://www.opennet.ru/opennews/art.shtml?num=66274
