Cайт веб-разработчика, программиста Ruby on Rails ESV Corp. Екатеринбург, Москва, Санкт-Петербург, Новосибирск, Первоуральск

Rust — это безопасно, говорили они. В новых утилитах Ubuntu нашли сразу сотню багов

Новый выпуск Ubuntu ещё не успел выйти, а вокруг него уже развернулась любопытная история, связанная с кибербезопасностью. Разработчики решили заранее проверить один из ключевых компонентов системы — и результаты оказались весьма неожиданными.

Компания Canonical заказала независимый аудит Rust Coreutils — набора базовых утилит, переписанных с использованием языка программирования Rust. Проверку провела команда Zellic. Итог — 113 обнаруженных проблем, включая десятки уязвимостей с идентификаторами CVE. По данным автора отчёта Рави Канта Шармы, значительную часть найденных ошибок уже устранили.

Речь идёт о замене классических GNU Coreutils — набора инструментов вроде cp, mv и rm — на более безопасную реализацию на Rust. Такой переход должен был снизить риск типичных ошибок управления памятью. Однако аудит показал, что новая реализация пока не избавилась от всех слабых мест.

В Ubuntu 26.04 LTS используется версия Rust Coreutils 0.8, в которую включили большинство исправлений. При этом часть ключевых утилит всё ещё остаётся за GNU Coreutils. Причина — нерешённые проблемы класса TOCTOU, связанные с расхождением между проверкой состояния и последующим использованием данных. Такие уязвимости могут открывать путь к атакам при работе с файловой системой.

В Ubuntu не скрывают, что текущий релиз — лишь промежуточный этап. Разработчики рассчитывают довести проект до полной замены GNU Coreutils уже к версии 26.10. К этому моменту оставшиеся проблемы должны устранить, а новая реализация — стать основой системы.

Подробный отчёт Zellic пока не опубликован полностью, но уже ясно, что переход на Rust оказался сложнее, чем ожидалось. Вместе с тем сама стратегия остаётся прежней — постепенно заменить критические компоненты на более безопасные аналоги, не ломая стабильность системы.

SecurityLab