Janë zbuluar detajet dhe është botuar një eksploit për vulnerabilitetin CIFSwitch (CVE ende nuk është ekuivalencuar) në modulin e bërthamës CIFS dhe grupin e mjeteve cifs-utils, që i lejon një përdoruesi të pa privilegjuar të marrë të drejtat root në sistem. Rregullimi është i disponueshëm vetëm në formën e një patch, i cili është publikuar më 16 maj dhe më 19 maj është pranuar në degën kryesore të bërthamës Linux (versionet e rregulluara të bërthamës akoma nuk janë të disponueshme).
Vulnerabiliteti ndikon në kodin që siguron mbështetje për mekanizmin cifs.spnego për të kryer autentifikimin përmes protokollit SPNEGO (Negocimi i Thjeshtë dhe i Mbrojtur GSSAPI) gjatë lidhjes me serverat SMB. Kur përdoret cifs.spnego për të përcaktuar çelësat nga Kerberos/SPNEGO, bërthama thërret procesorin cifs.upcall, i ofruar nga paketa cifs-utils dhe ekzekutuar në hapësirën e përdoruesit me të drejta root.
Një përdorues i pa privilegjuar mund të nismojë thirrjen e procesorit përmes dërgimit të një kërkese që kërkon të marrë çelësin "cifs.spnego", me një përshkrim të falsifikuar "CIFS SPNEGO". Procesori cifs.upcall nuk kryen kontrollime të mundshme për përshtatshmërinë e parametrave të dërguar përmes bërthamës, ndër të tjera, ai percepton vlerat e fushave pid, uid, creduid dhe upcall_target si të besueshme.
Pas aktivizimit, procesori cifs.upcall kalon në hapësirën e identifikimit të procesit të përdoruesit, përmes të cilit është dërguar kërkesa, dhe deri në heqjen e privilegjeve kryen kërkimin në bazën e sistemit NSS (Shkëmbimi i Shërbimeve të Emrave).
Një sulmues mund të nisë procesin e tij në një hapësirë identifikimi të montimeve të veçanta, gjë që do të rezultojë në kryerjen e thirrjes NSS në kontekstin e tij. Për të shfrytëzuar vulnerabilitetin mjafton që brenda ambientit të krijuar nga sulmuesi të ketë skedarin e tij të konfigurimit /etc/nsswitch.conf dhe një grup bibliotekash të stërvitura libnss_*.so.2. Ekzekutimi i kërkesës NSS nga procesori cifs.upcall do të rezultojë në ngarkimin e biblioteka të stërvitura nga sulmuesi me të drejta root.
Për të shfrytëzuar vulnerabilitetin, në sistem duhet të jetë e lejuar krijimi i hapësirave të identifikimit të përdoruesve (user namespace) ose të montimeve (mount namespace), dhe gjithashtu kërkohet që në sistem të jetë instaluar paketa cifs-utils. Distribucione ku është e mundur shfrytëzimi i vulnerabilitetit në konfigurimin e tij të paracaktuar:
- Linux Mint Cinnamon 21.3/22.3
- CentOS Stream 9 GNOME
- Rocky Linux 9 Workstation
- Kali Linux
- AlmaLinux 9.7 Workstation
- SUSE 15 SP7/SAP 15 SP7/SAP 16
Distribuoni në të cilat kërkohet instalimi i paketës cifs-utils për funksionimin e exploitit:
- Ubuntu 18.04/20.04/22.04 Desktop/Server
- Pop!_OS 22.04 Intel/24.04 Generic
- Ubuntu 24.04 Desktop minimal/full dhe Server
- Debian 11/12/13 netinst standard dhe GNOME/KDE/standard/XFCE
- CentOS Stream 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
Distribuoni në të cilat në konfigurimin e tyre të paracaktuar zbatohen cilësimet që bllokojnë shfrytëzimin e dobësisë përmes SELinux ose Apparmor, edhe në prani të paketës cifs-utils:
- Ubuntu 26.04 Desktop/Server
- Fedora 40/41/42/43/44 Workstation/Server
- CentOS Stream 10 GNOME/KDE
- Rocky Linux 10 Workstation
- AlmaLinux 10.1 Workstation
- Oracle Linux 10 KVM
- openSUSE Tumbleweed GNOME/KDE
- openSUSE Leap 16.0 OEM GNOME/KDE/Minimal-VM
- SUSE Linux 16
Si një zgjidhje për mbrojtjen, mund të bllokoni ngarkimin automatik të modulit të bërthamës cifs:
sh -c «printf âinstall cifs /bin/false\nâ > /etc/modprobe.d/cifs.conf; rmmod cifs 2>/dev/null; true»
Gjithashtu, mund të ndaloni përdorimin e user namespace («sysctl -w kernel.unprivileged_userns_clone=0») dhe të fshini ose tejkaloni rregullin cifs.spnego në cilësimet e cifs-utils:
cat >/etc/request-key.d/cifs.spnego.conf <âEOFâ
create cifs.spnego * * /usr/sbin/keyctl negate %k 30 %S
EOF
NdĂ«rkohĂ«, mĂ« 28 maj janĂ« publikuar 137 raporte pĂ«r dobĂ«si nĂ« kernelin Linux, dhe mĂ« 27 maj â 277 raporte.
Burimi: opennet.ru
