I ditaglii sò stati divulgati è un exploit hè statu publicatu per una vulnerabilità CIFSwitch (CVE ancu micca assignatu) in u modulu di u kernel CIFS è in u toolkit cifs-utils. Sta vulnerabilità permette à un utilizatore senza privilegi d'ottene privilegi di root in u sistema. A correzione hè dispunibule solu cum'è una patch, chì hè stata publicata u 16 di maghju è accettata in u kernel principale u 19 di maghju. Linux (e versioni di mantenimentu di u kernel ùn sò ancu dispunibili).
A vulnerabilità affetta u codice chì supporta u mecanismu cifs.spnego per eseguisce l'autenticazione via u protocolu SPNEGO (Simple and Protected GSSAPI Negotiation) quandu si cunnette à i servitori SMB. Quandu si usa cifs.spnego per determinà e chjave Kerberos/SPNEGO, u kernel chjama u gestore cifs.upcall, chì hè furnitu da u pacchettu cifs-utils è funziona in u spaziu utilizatore cù privilegi di root.
Un utilizatore senza privilegi pò inizià una chjama à u gestore mandendu una dumanda chì dumanda a chjave "cifs.spnego" cù una falsa descrizzione "CIFS SPNEGO". U gestore cifs.upcall ùn esegue micca cuntrolli di validazione supplementari nantu à i parametri passati per u kernel; frà altre cose, tratta u pid, uid, u creduid, è
upcall_target. Una volta attivatu, u gestore cifs.upcall passa à i spazii di nomi di u prucessu di l'utente attraversu u quale a dumanda hè stata mandata è esegue una ricerca in a basa di dati NSS (Name Service Switch) di u sistema prima di resettà i privilegi.
Un attaccante pò lancià u so prucessu in un spaziu di nomi di puntu di muntatura separatu, ciò chì farà accede à NSS in u so cuntestu. Per sfruttà sta vulnerabilità, basta à piazzà u so propiu schedariu di cunfigurazione /etc/nsswitch.conf è un inseme di biblioteche fittizie, libnss_*.so.2, in l'ambiente creatu da l'attaccante. L'esecuzione di una dumanda NSS da u gestore cifs.upcall caricherà e biblioteche fittizie cù privilegi di root.
Per sfruttà sta vulnerabilità, u sistema deve permette i spazii di nomi d'utilizatori o i punti di muntatura, è u pacchettu cifs-utils deve esse installatu. E distribuzioni chì ponu sfruttà sta vulnerabilità in a so cunfigurazione predefinita includenu:
- Linux Menta Cannella 21.3/22.3
- CentOS Flussu 9 GNOME
- Rocky Linux 9 stazione di travagliu
- Kali Linux
- AlmaLinux 9.7 stazione di travagliu
- SUSE 15 SP7/SAP 15 SP7/SAP 16
Distribuzioni chì necessitanu u pacchettu cifs-utils per travaglià cù l'exploit:
- Ubuntu 18.04/20.04/22.04 Desktop/Servitore
- Pop!_OS 22.04 Intel/24.04 Genericu
- Ubuntu 24.04 Desktop minimale/cumpletu è Server
- Debian 11/12/13 netinst standard è 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
Distribuzioni chì anu cunfigurazioni predefinite chì bloccanu u sfruttamentu di vulnerabilità attraversu SELinux o Apparmor, ancu s'ellu cifs-utils hè presente u pacchettu:
- Ubuntu 26.04 Desktop/Servitore
- Fedora 40/41/42/43/44 Workstation/Server
- CentOS Trasmette in flussu 10 GNOME/KDE
- Rocky Linux 10 stazione di travagliu
- AlmaLinux 10.1 stazione di travagliu
- Oracle Linux 10 KVM
- openSUSE Tumbleweed GNOME/KDE
- openSUSE Leap 16.0 OEM GNOME/KDE/Minimal-VM
- SUSE Linux 16
Cum'è una suluzione, pudete bluccà u caricamentu automaticu di u modulu di u kernel cifs:
sh -c "printf 'installà cifs /bin/false\n' > /etc/modprobe.d/cifs.conf; rmmod cifs 2>/dev/null; veru"
Pudete ancu disattivà l'usu di u spaziu di nomi di l'utilizatore ("sysctl -w kernel.unprivileged_userns_clone=0") è rimuovere o sovrascrivere a regula cifs.spnego in i paràmetri cifs-utils:
cat >/etc/request-key.d/cifs.spnego.conf <'EOF'
creà cifs.spnego * * /usr/sbin/keyctl nega %k 30 %S
EOF
Intantu, 137 rapporti di vulnerabilità di u kernel sò stati publicati u 28 di maghju. Linux, è per i rapporti di u 27 di maghju - 277.
Source: opennet.ru
