Ubuntu snap-confine (CVE-2026-8933): lokalny root
CVE-2026-8933 to wyścig w snap-confine, który daje lokalnemu użytkownikowi roota na domyślnych desktopach Ubuntu 24.04, 25.10 i 26.04. Jak łatać i dlaczego.
- AUTOR
- Karol Rapacz / CEO Breachroad · OSCP · PNPT
- PUBLIKACJA
- 24 lipca 2026
- CZAS CZYTANIA
- 7 min czytania
- TEMAT
- Podatności i CVE
Qualys ujawnił podatność CVE-2026-8933 w komponencie snap-confine, który buduje środowisko uruchomieniowe dla aplikacji Snap w Ubuntu. Błąd typu wyścig (race condition) pozwala nieuprzywilejowanemu użytkownikowi lokalnemu uzyskać roota na domyślnych instalacjach Ubuntu Desktop 24.04, 25.10 i 26.04. To druga w tym tygodniu poważna luka lokalnej eskalacji w ekosystemie Linuksa — obok RefluXFS w XFS.
Skąd wziął się błąd
Qualys wiąże podatność ze zmianą hartującą w snap-confine. Nowsze wydania Ubuntu przeniosły ten komponent z modelu set-uid-root na model uprawnień (set-capabilities), żeby ograniczyć zakres przywilejów. Paradoksalnie ta zmiana otworzyła wąskie okno w trakcie przygotowywania piaskownicy: katalogi i pliki tymczasowe w /tmp były początkowo własnością nieuprzywilejowanego użytkownika, zanim własność przechodziła na roota.
Ocena to CVSS 7.8 (wysoka). Sam mechanizm hartowania bywa źródłem nowych błędów — to przypomnienie, że każda zmiana modelu uprawnień wymaga równie starannych testów jak nowa funkcja.
Jak działa wykorzystanie
Exploit łączy dwa równoległe wyścigi:
- Montaż FUSE. Atakujący montuje system plików FUSE nad tymczasowym katalogiem roboczym tuż po jego utworzeniu. Dzięki temu obchodzi izolację przestrzeni nazw montowań, którą snap-confine zakłada dopiero później — katalog pozostaje dostępny spoza piaskownicy.
- Dowiązanie symboliczne. Atakujący tworzy symlink wskazujący na dowolny plik docelowy. Gdy snap-confine próbuje utworzyć plik w piaskownicy, wywołanie
open()podąża za symlinkiem i zapisuje do wskazanego celu.
Zestawienie tych kroków pozwala m.in. podłożyć złośliwe reguły udev i w efekcie wykonać polecenia jako root. To klasyczny, ale skuteczny wzorzec: przewidywalne pliki tymczasowe + moment zmiany właściciela = okno na przejęcie.
Dlaczego to ważne mimo „tylko” lokalnego dostępu
Jak przy każdej lokalnej eskalacji, kluczowe pytanie brzmi: kto może uruchomić kod na tej maszynie? Na desktopie jednego użytkownika ryzyko jest niższe, ale w środowiskach współdzielonych, na maszynach z wieloma kontami, w laboratoriach czy na stacjach dostępnych fizycznie dla wielu osób — lokalny root to pełne przejęcie hosta. W połączeniu z podatną aplikacją dającą wstępny dostęp, taka luka domyka łańcuch ataku.
Co zrobić
- Wgraj aktualizacje bezpieczeństwa Ubuntu. Zaktualizuj
snapd/snap-confine do wersji z poprawką przez standardowy kanał aktualizacji dystrybucji. - Priorytetyzuj domyślne desktopy 24.04, 25.10 i 26.04. To one są wskazane jako podatne w konfiguracji domyślnej.
- Obejmij tym samym cyklem inne maszyny z Linuksem. Skoro w tym samym tygodniu pojawił się RefluXFS, potraktuj to jako jedną falę łatania jądra i komponentów uprzywilejowanych — proces zarządzania podatnościami, nie dwie osobne akcje.
- Ogranicz, kto uruchamia kod lokalnie. Na maszynach wielodostępnych zawężaj uprawnienia i rozważ dodatkowe warstwy izolacji.
- Zweryfikuj wykonanie. Po aktualizacji potwierdź wersję komponentu, zamiast zakładać, że polityka się zastosowała.
Najważniejszy wniosek
CVE-2026-8933 pokazuje dwie rzeczy: że nawet zmiany zwiększające bezpieczeństwo trzeba testować pod kątem nowych wyścigów, oraz że lokalna eskalacja pozostaje istotna wszędzie tam, gdzie kod uruchamia więcej niż jeden użytkownik. Załataj snap-confine, potraktuj to razem z innymi lipcowymi lukami Linuksa i zweryfikuj wynik. Jeśli chcesz uporządkować proces łatania na flocie Linuksa, odezwij się.
Źródła: Qualys — CVE-2026-8933, The Hacker News, Infosecurity Magazine.


