Frissen felfedezett Linux helyi jogosultság-emelési sebezhetőség, a CIFSwitch lehetővé teszi, hogy egy jogosultság nélküli helyi felhasználó root hozzáférést szerezzen bizonyos rendszereken a Linux kernel CIFS kliensén és a
cifs-utils
felhasználói segédprogramon keresztül. A CIFS, más néven SMB, egy hálózati fájlmegosztási protokoll, amelyet gyakran használnak Windows fájlmegosztások elérésére Linux és más platformok alatt.
Asim Manizada biztonsági kutató felfedte a problémát, amelyet nem univerzális Linux helyi root sebezhetőségként írt le, mivel a kihasználhatóság a konkrét disztribúciók konfigurációitól függ. Egy nyilvános bizonyíték-koncepció exploit elérhető, ami fokozza a sürgősséget a sebezhető rendszerek javítócsomaggal való ellátására és a mitigációra.
A CIFSwitch a kernel CIFS kliens és a
cifs.upcall
, a Kerberos-hitelesített CIFS/SMB csatolásokhoz készült
cifs-utils
segédprogram közötti interfészen helyezkedik el. Bár a CIFS általában a Windows fájlmegosztásokkal társul, a Linux rendszerek is képesek SMB megosztásokat csatolni a kernel CIFS kliens segítségével.
A sebezhetőség abból adódik, ahogyan a CIFS a Linux kulcskarikákat használja. Normál esetben a kernel egy
cifs.spnego
kulcsot kér, és a rendszer request-key konfigurációja rootként indítja a
cifs.upcall
-t a Kerberos/SPNEGO hitelesítés kezelésére.
A közzétett információk szerint a sebezhetőség lehetővé teszi, hogy egy jogosultság nélküli felhasználói térben futó folyamat hamisított
cifs.spnego
kulcsleírást kérjen. A kernel nem tudta megfelelően elutasítani azokat a leírásokat, amelyek nem a kernel CIFS-ből származtak, és az alapértelmezett request-key szabály még mindig rootként indíthatta a
cifs.upcall
-t.
A felhasználói segédprogram ezután a támadó által vezérelt mezőket, például
pid
,
uid
,
creduid
és
upcall_target
elemezte, mintha azokat a kernel generálta volna. Az
upcall_target=app
beállításával a segédprogram át tudott váltani egy támadó által irányított névtérbe.
A támadás különösen veszélyes, mert a fiókkeresés az NSS-en keresztül a végső jogosultságcsökkentés előtt megtörténhet. Ebben az állapotban egy névtér-lokális NSS konfiguráció és modul betölthető a root segédprogram által, lehetővé téve, hogy a támadó által vezérelt kód root jogosultságokkal fusson.
A nyilvános bizonyíték-koncepció tároló elmagyarázza, hogy az exploit segédprogramkódot épít, beleértve egy hamis NSS könyvtárat és egy aktiválót, amely miatt a
cifs.upcall
belép a privát névtérbe és betölti az irányított NSS modult. A szerző kijelenti, hogy a PoC célja a védelmezők, karbantartók és jogosult biztonsági csapatok számára a kitettség, javítócsomagok és mitigációk érvényesítése.
A kernel oldalán lévő javítás nyilvános és stabil kiadásra várakozik. Ez elutasítja a felhasználói térben létrehozott
cifs.spnego
leírásokat azáltal, hogy érvényesíti, hogy csak a saját privát
spnego_cred
hitelesítő adatait használó CIFS hozhat létre ilyet. A CVE azonosítás még folyamatban volt a közzététel időpontjában.
A jó hír az, hogy a CIFSwitch alapértelmezés szerint nem érinti az összes Linux rendszert. A kutató több szükséges feltételt sorol fel: egy sebezhető kernel, egy érintett
cifs-utils
verzió, az alapértelmezett
cifs.spnego
request-key szabály, engedélyezett jogosultság nélküli felhasználói és csatolási névterek, valamint olyan SELinux vagy AppArmor szabályok, amelyek nem blokkolják a támadási láncot.
A közzétett tesztelt, kihasználható rendszerek között szerepel a Linux Mint 21.3 és 22.3, CentOS Stream 9, Rocky Linux 9, Kali Linux 2021.4-től 2026.1-ig headless, AlmaLinux 9.7 és Azure felhőképe, SLES 15 SP7, SLES SAP 15 SP7, és SLES SAP 16 SELinux permissive beállítással.
Más rendszerek csak az alapértelmezett polialatt kihasználhatók, ha a
cifs-utils
manuálisan van telepítve. Ebbe a csoportba tartozik a Ubuntu 18.04 LTS, 20.04 LTS és 22.04 LTS, a Debian 11 “Bullseye”, 12 “Bookworm” és 13 “Trixie”, a Pop!_OS 22.04 és 24.04, az openSUSE Leap 15.6, a Rocky Linux 8 GenericCloud, az Oracle Linux 8 és 9 KVM képek, valamint az Amazon Linux 2023 SELinux permissive beállítással.
Több újabb rendszert a gyári biztonsági beállításokkal blokkolja ez a támadási formát, még akkor is, ha a
cifs-utils
jelen van. A közzétett információk szerint a Fedora 40-től 44-ig, a Ubuntu 26.04 LTS, a CentOS Stream 10, a Rocky Linux 10, az AlmaLinux 10.1, az Oracle Linux 10, az openSUSE Tumbleweed, az openSUSE Leap 16.0, és a SLES 16 alapértelmezett SELinux vagy AppArmor beállítással blokkolva van, hacsak ezeket a védelmeket nem lazítják.
A mitigációk közé tartozik a kernel frissítés alkalmazása, amikor az elérhető a disztribúciótól, a
cifs
modul blokkolása, ha a CIFS/SMB csatolások nem szükségesek, a
cifs-utils
eltávolítása, ahol nem szükséges, az alapértelmezett
cifs.spnego
request-key szabály felülírása, ha a Kerberos CIFS hitelesítés nem szükséges, és a jogosultság nélküli felhasználói névterek letiltása. További részletekért lásd itt.

