Домой Новости Софт и сервисы В Rust Coreutils выявлено 113 уязвимостей. В Ubuntu 26.04 возвращены cp, mv...

В Rust Coreutils выявлено 113 уязвимостей. В Ubuntu 26.04 возвращены cp, mv и rm из GNU Coreutils

Canonical обнаружила серьезные проблемы в Rust-версии системных утилит. В свежем LTS-релизе Ubuntu временно отказались от части Rust-инструментов в пользу GNU.

В Rust Coreutils выявлено 113 уязвимостей. В Ubuntu 26.04 возвращены cp, mv и rm из GNU Coreutils
В Rust Coreutils выявлено 113 уязвимостей. В Ubuntu 26.04 возвращены cp, mv и rm из GNU Coreutils — иллюстрация к материалу. Источник: linux.org.ru

Компания Canonical опубликовала предварительные результаты внешнего аудита безопасности инструментария uutils coreutils, написанного на языке Rust. Этот пакет частично заменяет классический GNU Coreutils в дистрибутиве Ubuntu. Проверку провела компания Zellic, специализирующаяся на поиске уязвимостей в Rust-проектах. Всего в ходе анализа было выявлено 113 проблем с безопасностью.

Результаты первого этапа аудита

Отчёт охватывает наиболее критически важные утилиты из набора uutils. В ходе проверки, проводившейся с декабря 2025 по январь 2026 года, эксперты обнаружили 73 уязвимости. Из них 7 классифицированы как критические, 11 — как опасные, 29 — средней степени риска и 26 — как неопасные. Данные о находках были переданы разработчикам, и большая часть проблем уже устранена в версиях uutils 0.5–0.8.

Изменения в Ubuntu 26.04

Напомним, что пакет rust-coreutils был внедрен по умолчанию в осеннем релизе Ubuntu 25.10. Однако из-за результатов аудита в LTS-версии Ubuntu 26.04 было решено вернуть привычные утилиты cp, mv и rm из состава GNU Coreutils. По состоянию на 22 апреля в этих утилитах оставалось 8 неисправленных состояний гонки (race conditions). Остальные инструменты в системе продолжают использовать версию rust-coreutils 0.8.0. В планах разработчиков Ubuntu — осуществить полный переход на rust-coreutils в релизе 26.10.

Опасность системных утилит

Уязвимости в таких инструментах крайне опасны, так как они часто задействуются в скриптах, исполняемых с правами суперпользователя (root). Например, ранее устраненная проблема в rm могла быть эксплуатирована через ежедневный cron-скрипт /etc/cron.daily/apport, который работает от имени root и очищает директорию /var/crash, доступную на запись всем пользователям.

Критические уязвимости в uutils

Среди наиболее серьезных угроз, отмеченных в первом отчёте, выделяются следующие:

  • Уязвимость в chroot: из-за обработки опции --userspec до момента сброса привилегий злоумышленник мог подменить NSS-библиотеки и добиться выполнения кода с правами root.
  • Проблемы с mkfifo: при работе с уже существующим файлом утилита ошибочно изменяла права доступа к нему, что позволяло получить несанкционированный доступ к защищенным данным.
  • Обход —preserve-root в chmod: из-за отсутствия канонизации путей защита от рекурсивных операций над корнем файловой системы легко обходилась через символические ссылки или пути вида /../.
  • Ошибки в rm: утилита допускала использование сокращенных опций для обхода защиты --preserve-root, что грозило случайным удалением всех данных в системе. Также наблюдались проблемы с обработкой путей, начинающихся с точки.
  • Ошибка в kill: некорректный разбор аргументов позволял отправить сигнал всем процессам в системе при передаче идентификатора -1.
Источник: https://www.linux.org.ru