Исследователи Qualys Threat Research Unit (TRU) обнаружили уязвимость локального повышения привилегий в компоненте snap-confine, которая затрагивает Ubuntu Desktop 24.04, 25.10 и 26.04. Ошибка, получившая идентификатор CVE-2026-8933, даёт непривилегированному локальному пользователю возможность получить полный root-доступ на системах с установками по умолчанию. Причина - изменение в модели привилегий, которое было призвано усилить безопасность, но на деле открыло новую поверхность для атаки.
Уязвимость CVE-2026-8933
snap-confine отвечает за построение изолированного окружения для snap-приложений. В недавних версиях Ubuntu компания Canonical перевела snap-confine с модели set-uid-root (бинарный файл с SUID-битом) на модель set-capabilities, где бинарник выполняется с набором повышенных возможностей, но не от root. Это должно было ограничить привилегии по принципу наименьших прав. Однако на практике snap-confine теперь запускается с эффективным UID вызывающего пользователя, сохраняя при этом почти root-полномочия. В результате все временные файлы и каталоги, создаваемые snap-confine для настройки песочницы, изначально принадлежат непривилегированному пользователю, а не root. Хотя владение быстро передаётся root, в узком временном окне (состояние гонки) атакующий сохраняет полный контроль над этими объектами.
Эксплойт CVE-2026-8933 использует два параллельных состояния гонки, оценивается как уязвимость высокой степени опасности. Сначала злоумышленник монтирует FUSE-файловую систему поверх временного рабочего каталога /tmp/snap.rootfs_XXXXXX сразу после его создания. Это позволяет обойти изоляцию пространства имён mount, которую snap-confine применяет позднее, и сохранить каталог доступным вне песочницы. Затем, пока каталог всё ещё принадлежит пользователю, он создаёт симлинк, указывающий на произвольный целевой файл. Когда snap-confine пытается создать файл внутри песочницы (например, default256.png для Firefox), вызов open() следует по симлинку и записывает данные в произвольное место. Второе состояние гонки даёт атакующему возможность расширить права доступа целевого файла до 0666 до того, как snap-confine вызовет fchown(), передавая владение root.
Для обхода профайла AppArmor, который сильно ограничивает, куда может писать snap-confine, исследователи использовали правило /run/udev/ rw. Этот путь разрешает чтение и запись. Эксплойт создаёт файл .rules в /run/udev/rules.d/ с вредоносной программой, а затем инициирует цикл монтирования/размонтирования FUSE-файловой системы. Это заставляет демон systemd-udevd выполнить произвольную команду с правами root. В результате достигается полная эскалация привилегий - из непривилегированного пользователя до root.
Уязвимыми считаются следующие редакции Ubuntu Desktop, в которых snap-confine поставляется в варианте set-capabilities: Ubuntu Desktop 26.04, Ubuntu Desktop 25.10, а также Ubuntu Desktop 24.04 с обновлёнными пакетами snapd. Canonical уже выпустила исправления через команду Ubuntu Security Team после скоординированного раскрытия. Организациям рекомендуется немедленно установить последние обновления snapd.
Событие подчёркивает неоднозначность перехода на модель set-capabilities - изменение, которое должно было уменьшить поверхность атаки, на деле создало новую, более уязвимую. Исследователи Qualys отметили оперативное взаимодействие с командой безопасности Ubuntu и вклад сообщества linux-distros в координацию раскрытия. Подобные случаи напоминают, что любые изменения в привилегированной модели требуют тщательной проверки времени жизни объектов и возможности перехвата управления.
Ссылки
- https://blog.qualys.com/vulnerabilities-threat-research/2026/07/21/cve-2026-8933-snap-confine-local-privilege-escalation?utm_source=Securitylab.ru
- https://cdn2.qualys.com/advisory/2026/07/21/snap-confine-set-capabilities.txt