sudo-rs стал стандартом в Ubuntu 25.10 — Canonical выбирает безопасность памяти вместо устаревшего C-кода

Ubuntu делает безопасной ту самую команду, с которой всё рушится.


tfzwrs9o971if2fri81u0erqbs0xivmi.jpg


Ubuntu 25.10, выход которого намечен на 9 октября 2025 года, станет первой версией системы, где по умолчанию будет использоваться sudo-rs — переписанная на Rust версия классической утилиты sudo. Это решение Canonical объясняет стремлением сократить количество уязвимостей, связанных с ошибками в управлении памятью, и повысить устойчивость критически важных компонентов системы.

Утилита sudo, знакомая каждому пользователю Unix-подобных систем, позволяет выполнять команды от имени администратора. Её переписывание на языке Rust — не просто формальность. Rust изначально проектировался как язык с жёсткими гарантиями безопасности работы с памятью, что делает невозможными такие типичные ошибки, как переполнение буфера или использование уже освобождённой памяти. А ведь именно такие баги чаще всего и становятся причиной серьёзных проблем с безопасностью. За последние годы эксперты по безопасности, включая CISA и технического директора Microsoft Azure Марка Руссиновича, всё активнее призывают переходить на языки с встроенными механизмами защиты — Rust, Go, C# — и даже переписывать на них уже существующие инструменты.

Проект sudo-rs появился в рамках инициативы Prossimo , стартовавшей в 2020 году под эгидой Internet Security Research Group. Одним из основных спонсоров разработки стала Amazon Web Services, заинтересованная в повышении надёжности своего дистрибутива Amazon Linux. Поддержка проекта также поступила от сообщества — новая утилита уже используется в защищённых дистрибутивах вроде Wolfi Linux от Chainguard, NixOS, AerynOS и входит в состав Fedora, Debian и Ubuntu.

Марк Скулдерман, ведущий инженер sudo-rs, напомнил, что оригинальная версия sudo, написанная на C, не раз становилась источником опасных уязвимостей. Одна из самых известных — "Baron Samedit" ( CVE-2021-3156 ), обнаруженная компанией Qualys в 2021 году, позволяла локальному пользователю получить полный доступ к системе. А ещё в 2001 году в журнале Phrack вышел текст про уязвимость с ироничным названием "Vudo", где показывалась возможность захвата системы через sudo.

Выбор sudo в качестве одного из первых кандидатов на "перепись" не случаен. Это один из самых критичных инструментов в любой Linux-системе — именно он отвечает за управление границей привилегий. Как отметили в Trifecta Tech Foundation, «решение о переходе на sudo-rs — логичное продолжение усилий Canonical по повышению надёжности системного ПО путём внедрения Rust».

Вместе с sudo-rs Canonical развивает и более широкую инициативу под названием oxidizr — проект по упрощённой замене классических Unix-утилит Rust-альтернативами. Уже сейчас он поддерживает uutils coreutils , findutils и diffutils , а также sudo-rs .

Несмотря на то, что Rust продолжает вызывать споры в сообществе Linux-разработчиков, тренд на переход к memory-safe языкам становится всё более очевидным. В Европе это направление поддерживается даже на уровне регулирующей политики — концепция "Secure by Design" включает в себя требования к безопасности на уровне используемого языка. А в США CISA уже прямо указывает использование небезопасных языков как плохую практику.

Как отметил один из участников проекта, «на перемены уйдёт время, но вектор уже задан — и его не остановить».