CIFSwitch to luka w zabezpieczeniach podsystemu CIFS jądra. Linux, co pozwala na uzyskanie praw roota

Ujawniono szczegóły i opublikowano exploit luki w zabezpieczeniach CIFSwitch (CVE, które nie zostało jeszcze przypisane) w module jądra CIFS i zestawie narzędzi cifs-utils. Luka ta umożliwia użytkownikowi bez uprawnień uzyskanie uprawnień roota w systemie. Poprawka jest dostępna wyłącznie jako łatka, która została opublikowana 16 maja i zaakceptowana w jądrze głównym 19 maja. Linux (wersje konserwacyjne jądra nie są jeszcze dostępne).

Luka dotyczy kodu obsługującego mechanizm cifs.spnego do uwierzytelniania za pośrednictwem protokołu SPNEGO (Simple and Protected GSSAPI Negotiation) podczas łączenia się z serwerami SMB. Podczas korzystania z cifs.spnego do określania kluczy Kerberos/SPNEGO, jądro wywołuje procedurę obsługi cifs.upcall, która jest dostarczana przez pakiet cifs-utils i działa w przestrzeni użytkownika z uprawnieniami roota.

Użytkownik bez uprawnień może zainicjować wywołanie do modułu obsługi, wysyłając żądanie z żądaniem klucza „cifs.spnego” z fałszywym opisem „CIFS SPNEGO”. Moduł obsługi cifs.upcall nie przeprowadza dodatkowych kontroli poprawności parametrów przekazywanych przez jądro; między innymi przetwarza identyfikatory pid, uid, creduid i
upcall_target. Po aktywacji, procedura obsługi cifs.upcall przełącza się na przestrzenie nazw procesu użytkownika, przez który wysłano żądanie, i przeprowadza wyszukiwanie w bazie danych NSS (Name Service Switch) systemu przed zresetowaniem uprawnień.

Atakujący może uruchomić swój proces w oddzielnej przestrzeni nazw punktu montowania, co spowoduje dostęp do NSS w jego kontekście. Aby wykorzystać tę lukę, wystarczy umieścić własny plik konfiguracyjny /etc/nsswitch.conf oraz zestaw bibliotek fikcyjnych libnss_*.so.2 w środowisku utworzonym przez atakującego. Wykonanie żądania NSS przez procedurę obsługi cifs.upcall spowoduje załadowanie bibliotek fikcyjnych z uprawnieniami użytkownika root.

Aby wykorzystać tę lukę, system musi zezwolić na przestrzenie nazw użytkowników lub punkty montowania, a także zainstalować pakiet cifs-utils. Dystrybucje, które mogą wykorzystać tę lukę w domyślnej konfiguracji, to m.in.:

  • Linux Mięta cynamonowa 21.3/22.3
  • CentOS Strumień 9 GNOME
  • Rocky Linux 9 stanowisk pracy
  • Kali Linux
  • AlmaLinux 9.7 stanowisk pracy
  • SUSE 15 SP7/SAP 15 SP7/SAP 16

Dystrybucje wymagające pakietu cifs-utils do współpracy z exploitem:

  • Ubuntu 18.04/20.04/22.04 Komputer stacjonarny/serwer
  • Pop!_OS 22.04 Intel/24.04 Generic
  • Ubuntu 24.04 Wersja minimalna/pełna na komputery stacjonarne i serwery
  • Debian Standard netinst 11/12/13 i GNOME/KDE/standard/XFCE
  • CentOS Przesyłaj strumieniowo 9 Cinnamon/KDE/MATE/XFCE
  • Rocky Linux 9 KDE/Workstation-Lite
  • openSUSE Leap 15.6 GNOME/KDE
  • openSUSE Tumbleweed GNOME/KDE
  • Rocky Linux 8 GenericCloud
  • Oracle Linux 8/9 KVM
  • Amazon Linux 2023 KVM

Dystrybucje, które mają domyślne konfiguracje blokujące wykorzystywanie luk w zabezpieczeniach za pośrednictwem SELinux lub Apparmor, nawet jeśli pakiet cifs-utils jest obecny:

  • Ubuntu 26.04 Komputer stacjonarny/serwer
  • Fedora 40/41/42/43/44 Workstation/Server
  • CentOS Strumień 10 GNOME/KDE
  • Rocky Linux 10 stanowisk pracy
  • AlmaLinux 10.1 stanowisk pracy
  • Oracle Linux 10 KVM
  • openSUSE Tumbleweed GNOME/KDE
  • openSUSE Leap 16.0 OEM GNOME/KDE/Minimal-VM
  • SUSE Linux 16

Jako obejście problemu możesz zablokować automatyczne ładowanie modułu jądra cifs:

sh -c "printf 'install cifs /bin/false\n' > /etc/modprobe.d/cifs.conf; rmmod cifs 2>/dev/null; true"

Można również wyłączyć używanie przestrzeni nazw użytkownika („sysctl -w kernel.unprivileged_userns_clone=0”) i usunąć lub zastąpić regułę cifs.spnego w ustawieniach cifs-utils:

kot >/etc/request-key.d/cifs.spnego.conf <'EOF'
utwórz cifs.spnego * * /usr/sbin/keyctl neguj %k 30 %S
EOF

Tymczasem 28 maja opublikowano 137 raportów o lukach w jądrze. Linuxoraz z 27 maja - 277 raportów.

Źródło: opennet.ru

Kup niezawodny hosting dla stron z ochroną DDoS, serwery VPS VDS 🔥 Kup niezawodny hosting stron internetowych z ochroną DDoS, serwery VPS VDS | ProHoster