← Все новости

Уязвимости в snapd и Rust Coreutils позволяют root-доступ в Ubuntu

• Категория: Безопасность • Автор: Алексей Воронов • Проверил: Екатерина Морозова • 18.03.2026 15:54

Компания Qualys обнаружила критическую уязвимость (CVE-2026-3888) в системе взаимодействия между snap-confine и systemd-tmpfiles в операционной системе Ubuntu. Данная уязвимость позволяет непривилегированному пользователю получить привилегии root, что представляет серьёзную угрозу безопасности.

Проблема проявляется в стандартных конфигурациях Ubuntu начиная с версии 24.04. В более старых выпусках (16.04-22.04) уязвимость может быть эксплуатирована при настройке системы, имитирующей поведение новых версий дистрибутива.

Уязвимость возникает из-за некорректного взаимодействия между snap-confine и systemd-tmpfiles. Snap-confine отвечает за создание sandbox-окружения для выполнения snap-приложений, а systemd-tmpfiles автоматически удаляет временные файлы и каталоги в /tmp. Проблема заключается в том, что после удаления каталога /tmp/.snap системой systemd-tmpfiles, атакующий может подменить его содержимое до момента пересоздания этого каталога snap-confine.

Атакующему требуется дождаться запуска процесса очистки временных файлов. В Ubuntu 24.04 это происходит раз в 10 дней, а в более новых версиях — раз в 30 дней. После подмены каталога /tmp/.snap атакующий может заменить библиотеки и загрузчик ld.so, что позволяет выполнить произвольный код с правами root.

Получив контроль над sandbox-окружением, изолированным через AppArmor и seccomp, атакующий может скопировать /bin/bash в каталог /var/snap/$SNAP/common/ и установить ему права "04755" (suid root). Несмотря на то, что изменения произведены внутри sandbox-окружения, файл с изменёнными правами доступен и в основной системе. Таким образом, обычный непривилегированный пользователь может запустить /var/snap/<имя_snap_пакета>/common/bash для получения полного root-доступа.

Кроме того, была обнаружена уязвимость в инструментарии uutils coreutils (Rust Coreutils), аналоге пакета GNU Coreutils, написанном на языке Rust. Эта уязвимость также позволяет непривилегированному пользователю получить права root. Проблема была выявлена при рецензировании изменений в Ubuntu 25.10 и временно устранена путём замены uutils rm на /usr/bin/gnurm.

Уязвимость вызвана состоянием гонки в утилите "rm", позволяющим локальному пользователю подменить содержимое каталога на символическую ссылку во время удаления файла с правами root. Это может быть использовано для удаления любого файла в системе или повышения привилегий через удаление каталога /tmp/snap-private-tmp/$SNAP/tmp/ и подмену содержимого sandbox-окружения snap-пакета.

В пакете uutils проблема была устранена в выпуске 0.3.0, хотя об этом не было указано явно в списке изменений.

Автор

Алексей Воронов

Алексей Воронов

Senior PHP Developer / AI Engineer • 10+ • AInDev.ru

Алексей Воронов — backend-разработчик и специалист в области веб-разработки на PHP и AI-интеграций. Более 10 лет занимается разработкой серверных приложений, REST API, микросервисной архитектуры и SaaS-решений. Основная...

Проверил

Екатерина Морозова

Екатерина Морозова

AI Systems Reviewer & Backend Software Engineer • 8+ • AInDev.ru

Екатерина Морозова — специалист в области интеграции систем искусственного интеллекта и backend-разработки. Имеет более 8 лет опыта в разработке программного обеспечения и внедрении AI-технологий в веб-приложения. Основ...

Теги: #уязвимости, #безопасность, #Ubuntu, #snapd, #CVE-2026-3888, #Rust Coreutils, #root-доступ