Avalikustatud LPE-haavatavus CIFSwitch Linux CIFS/cifs-utils-s.

Turvaspetsialist Asim Manizada paljastas haavatavuse CIFSwitch — lokaalne õiguste tõstmine Linuxi tuuma ja kasutaja paketiga cifs-utils. Probleem puudutab teed töötluses CIFS/SMB Kerberos/SPNEGO upcall, nimelt mehhanismi, mille kaudu Linuxi tuuma CIFS-klient küsib kasutaja abivahendilt Kerberos autentimise andmete saamiseks SMB ressursside mountimise ajal. Kirjeldus on avaldatud pärast linux-distros embargo lõppemist; CVE identifikaator ei olnud avaldamise ajal veel määratud.

Haavatavuse olemus on selles, et mitteprivilegeeritud kasutaja sai kutsuda request_key("cifs.spnego", …) ja edastada vale võtme kirjelduse. Tüüpilises stsenaariumis peaks sellise rea koostama CIFS-i tuumaklient ise: see sisaldab teavet serveri, UID, autentimise UID, PID, upcall’i eesmärgi ja muude parameetrite kohta. Kuid tuum ei kontrollinud, kas kirjeldus pärineb tõesti CIFS alamsüsteemist, ning cifs.upcall, mis käivitati root’ist standardse request-key reegli kaudu, usaldas neid väljasid kui tuum poolt loodud andmeid.

Haavatavus ei ole universaalne «august» igas Linuxis vaikimisi. Selleks, et see saaks eksisteerida, peavad täituma mitmed tingimused: haavatava tuuma olemasolu, installitud cifs-utils koos cifs.spnego reegliga, alandamatute kasutajate võimalus luua user/mount namespaces ning SELinuxi, AppArmori või muu LSM poliitika blokeerimise puudumine. OSS-security teates on eraldi märgitud, et haavatavates süsteemides avab see tee alandatud kohalike kasutajate jaoks koodi täitmiseks rootina.


Tehniliselt ahel ehitatakse selle ümber,, et cifs.upcall saab minna nimede ruumidesse, mis on esitatud valekirjelduses, ja teha NSS-päringu enne privileegide lõplikku tühistamist. Selle tulemusena saab ründaja kontrollitav keskkond mõjutada NSS-mooduli laadimist root-protsessi poolt. Avalikes kirjeldustes rõhutatakse, et see on tõepoolest loogiline viga tuuma ja kasutaja ruumi piiril, mitte klassikaline mälu riknemise haavatavus.

Ytu tuum on väike: cifs.spnego võtmete tüüpidele on lisatud kontroll, mis lükkab tagasi kirjeldused, mis on loodud mitte CIFS-i kliendi enda privaatsete spnego_cred'idena. See lähenemine lukustab rünnakute klassi ilma vajalike sünkroonsete muudatusteta cifs-utils'is, kuigi autor märgib, et täiendav kasutajaruumi tugevdamine on siiski soovitatav.

AlmaLinux teatas, et põhiloogika on olemas kõigis toetatud AlmaLinux'i versioonides ning AlmaLinux 8, 9, 10 ja Kitten 10 loetakse mõjutatuks, kui cifs-utils on installitud. Parandatud kernlid on ette valmistatud testimurepositooriumides: AlmaLinux 9 puhul on märgitud pakett kernel-5.14.0-687.5.4.el9_8 või uuem, AlmaLinux 10 puhul – kernel-6.12.0-211.7.4.el10_2 või uuem.

Ajutiste meetmetena enne parandatud kernel'i installimist soovitatakse eemaldada cifs-utils, kui SMB/CIFS-kliendi süsteemis ei kasutata, keelata cifs'i moduli laadimine, override 'ida cifs.spnego reeglit request-key'is või keelata mitteprivilegeeritud kasutaja nimetamised. Need ümbersuunamismeetmed võivad rikkuda Kerberos autentimise CIFS-montaažide jaoks, seega tuleks neid rakendada ettevaatlikult serverites, kus tegelikult kasutatakse Kerberos-iga autentitud SMB-jaotusi.

CIFSwitch on huvitav ka tuvastamisest rääkides: autor kirjeldab seda kui tulemust mitmeastmeliste ahelate otsimisest, kasutades LLM-i ja graafipõhist esitamist turbeobjektide vahel. Kuid praktiline soovitus administraatoritele on pigem maandatud: kontrollida cifs-utils'i olemasolu, kasutaja nimede olekut ja tuuma uuendusi, eriti süsteemides, kus on kohalikke kasutajaid või konteinerite stsenaariume laiendatud nimede võimalustega.

Allikas: linux.org.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster