KĂ«rkuesi i sigurisĂ« Asim Manizada zbuloi ndjeshmĂ«rinĂ« CIFSwitch â rritje lokale e privilegjeve nĂ« bĂ«rthamĂ«n e Linux dhe paketĂ«n pĂ«rdoruese cifs-utils. Problemi preku rrugĂ«n e pĂ«rpunimit CIFS/SMB Kerberos/SPNEGO upcall, qĂ« do tĂ« thotĂ« mekanizmi pĂ«rmes tĂ« cilit klienti CIFS kĂ«rkon tĂ« dhĂ«nat pĂ«r Kerberos-autentikimin nga ndihmĂ«si pĂ«rdorues gjatĂ« montimit tĂ« burimeve SMB. PĂ«rshkrimi u publikua pas pĂ«rfundimit tĂ« embargos nga linux-distros; identifikuesi CVE nĂ« momentin e publikimit ende nuk ishte caktuar.
Thelbi i ndjeshmĂ«risĂ« Ă«shtĂ«, qĂ« njĂ« pĂ«rdorues pa privilegje mund tĂ« thĂ«rrasĂ« request_key("cifs.spnego", âŠ) dhe tĂ« dorĂ«zojĂ« njĂ« pĂ«rshkrim tĂ« rremĂ« tĂ« çelĂ«sit. NĂ« njĂ« skenar normal, njĂ« rresht tĂ« tillĂ« duhet ta formojĂ« vetĂ« klienti CIFS i bĂ«rthamĂ«s: ai pĂ«rmban informacion nĂ« lidhje me serverin, UID, credential UID, PID, qĂ«llimin e upcall dhe parametrat e tjerĂ«. MegjithatĂ«, bĂ«rthama nuk verifikoi se pĂ«rshkrimi me tĂ« vĂ«rtetĂ« kishte ardhur nga nĂ«n-sistemi CIFS, dhe cifs.upcall, i ekzekutuar nga root pĂ«rmes rregullit standard request-key, i besonte kĂ«tyre fushave si tĂ« dhĂ«na tĂ« krijuara nga bĂ«rthama.
Ndjeshmëria nuk është universale «një hapësirë në çdo Linux nga kutia». Për të operuar, duhet të plotësohen disa kushte: prania e një bërthame të cenuar, instalimi i cifs-utils me rregullin cifs.spnego, mundësia për përdorues të pa privilegjuar të krijojnë hapësira namespaces user/mount, si dhe mungesa e bllokimit nga SELinux, AppArmor ose një politike tjetër LSM. Në mesazhin në oss-security theksohet veçmas se në sistemet e cenueshme, kjo ofron një mundësi për një përdorues lokal të pa privilegjuar për të ekzekutuar kodin nga root.
Teknikisht cadena ndërtimi rreth asaj, që cifs.upcall mund të kalojë në hapësirat e emrave të specifikuara në përshkrimin fals dhe të kryejë një kërkesë NSS deri në një rënie të plotë të privilegjeve. Si rezultat, një ambient i kontrolluar nga sulmuesi mund të ndikojë në ngarkimin e modulit NSS nga procesi root. Në përshkrimet publike theksohet se kjo është një gabim logjik në kufirin midis bërthamës dhe hapësirës së përdoruesit, dhe jo një cenueshmëri klasike e korruptimit të memories.
Korrigimi në kernel doli të ishte i vogël: për tipo çelash cifs.spnego u shtua një verifikim që refuzon përshkrimet e krijuara nga vetë klienti CIFS me kredencialet e tij private spnego_cred. Ky qasje mbyll një klasë sulmesh pa ndryshime të detyrueshme sinkronike në cifs-utils, megjithatë autori thekson se forcimi i mëtejshëm në hapësirën e përdoruesit është akoma i dëshirueshëm.
AlmaLinux raportoi, se logjika bazĂ« Ă«shtĂ« e pranishme nĂ« tĂ« gjithĂ« versionet e mbĂ«shtetura tĂ« AlmaLinux, dhe AlmaLinux 8, 9, 10 dhe Kitten 10 konsiderohen tĂ« prekura kur cifs-utils Ă«shtĂ« instaluar. Kernelat e patçuar janĂ« pĂ«rgatitur nĂ« depozitĂ« testing: pĂ«r AlmaLinux 9 tregohet paketa kernel-5.14.0-687.5.4.el9_8 ose mĂ« e re, pĂ«r AlmaLinux 10 â kernel-6.12.0-211.7.4.el10_2 ose mĂ« e re.
Si masë përkohësisht deri në instalimin e kernelit të rregulluar, sugjerohet të hiqet cifs-utils, nëse klienti SMB/CIFS në sistem nuk përdoret, ndalohet ngarkimi i modulit cifs, të tejkalohen rregullat cifs.spnego në request-key ose të çaktivizohen hapësirat e përdoruesve pa privilegje. Këto masa anashkalimi mund të dëmtojnë autentikimin Kerberos për montimet CIFS, prandaj në serverat ku vërtet përdoren ndarjet SMB të autentikuara me Kerberos, duhet të zbatohen me kujdes.
CIFSwitch është interesante gjithashtu për kontekstin e zbulimit: autori e përshkruan atë si një rezultat të kërkimit të lidhjeve shumë-hapëshe duke përdorur LLM dhe një paraqitje grafike të lidhjeve midis objekteve të sigurisë. Por përfundimi praktik për administratorët është mjaft i drejtpërdrejtë: kontrolloni prani të cifs-utils, gjendjen e hapësirave të përdoruesve dhe përditësimet e kernelit, veçanërisht në sistemet ku ka përdorues lokalë ose skenarë kontejnerësh me mundësi të zgjeruara hapësirash.
Burimi: linux.org.ru
