Sikkerhetsforsker Asim Manizada har avdekket en sĂ„rbarhet CIFSwitch â lokal heving av privilegier i sammenheng med Linux-kjernen og et brukerpakke cifs-utils. Problemet berĂžrer mĂ„ten CIFS/SMB Kerberos/SPNEGO oppkall, det vil si mekanismen der CIFS-klienten i kjernen ber bruker-hjelperen om data for Kerberos-autentisering ved montering av SMB-ressurser. Beskrivelsen ble publisert etter utlĂžp av embargoet fra linux-distros; CVE-identifikatoren var ikke tildelt pĂ„ publiseringstidspunktet.
Kjernen i sĂ„rbarheten er at, en ikke-privilegert bruker kunne pĂ„kalle request_key("cifs.spnego", âŠ) og sende et falskt beskrivelse av nĂžkkelen. Under normale omstendigheter burde denne strengen vĂŠre generert av CIFS-klienten i kjernen: den inneholder informasjon om serveren, UID, credential UID, PID, formĂ„let med oppkallet og andre parametere. Imidlertid sjekket ikke kjernen om beskrivelsen faktisk kom fra CIFS-subsystemet, og cifs.upcall, som kjĂžrer som root gjennom standardreglen for request-key, stole pĂ„ disse feltene som om de var generert av kjernen.
SÄrbarheten er ikke en universell «hull i hvilken som helst Linux out-of-the-box». For Ä utnytte den mÄ flere betingelser vÊre til stede: sÄrbar kjerne, installert cifs-utils med regelen cifs.spnego, mulighet for ikke-priviligerte brukere til Ä opprette user/mount namespaces, samt fravÊr av blokkering fra SELinux, AppArmor eller annen LSM-politikk. I en melding pÄ oss-security ble det spesifikt nevnt at pÄ sÄrbare systemer gir dette veien fra en ikke-privilegert lokal bruker til Ä utfÞre kode som root.
Teknisk sett bygger kjeden rundt det, at cifs.upcall kan gÄ inn i romnavnene angitt i den falske beskrivelsen og utfÞre en NSS-forespÞrsel fÞr privilegiene tilbakestilles. Som et resultat kan et av angriperen kontrollert miljÞ pÄvirke lasting av NSS-modulen av root-prosessen. I offentlige beskrivelser understrekes det at dette er en logisk feil pÄ grensen mellom kjernen og brukerplassen, og ikke en klassisk sÄrbarhet innen minnekorruptjon.
Fiksen i kjernen viste seg Ă„ vĂŠre liten i omfang: det ble lagt til en sjekk for nĂžkkeltypene cifs.spnego, som avviser beskrivelser som ikke er generert av CIFS-klienten med sine private spnego_cred. Denne tilnĂŠrmingen lukker en klasse angrep uten nĂždvendige synkrone endringer i cifs-utils, selv om forfatteren bemerker at ytterligere styrking av brukerplassen fortsatt er Ăžnskelig.
AlmaLinux rapporterte, at den grunnleggende logikken er til stede i alle stĂžttede utgaver av AlmaLinux, mens AlmaLinux 8, 9, 10 og Kitten 10 regnes som berĂžrt dersom cifs-utils er installert. De patchede kjernene er klargjort i testing-repositoriene: for AlmaLinux 9 er pakken kernel-5.14.0-687.5.4.el9_8 eller nyere angitt, for AlmaLinux 10 â kernel-6.12.0-211.7.4.el10_2 eller nyere.
Som midlertidige tiltak fÞr installasjon av den korrigerte kjernen, foreslÄs det Ä fjerne cifs-utils hvis SMB/CIFS-klienten ikke benyttes pÄ systemet, forby lasting av cifs-modulen, overstyre regelen cifs.spnego i request-key, eller deaktivere ikke-privilegerte brukernamespaces. Disse omgÄelsene kan bryte Kerberos-autentiseringen for CIFS-mounts, sÄ pÄ servere hvor Kerberos-autentiserte SMB-deler faktisk brukes, bÞr de brukes med forsiktighet.
CIFSwitch er ogsÄ interessant i konteksten for oppdagelse: forfatteren beskriver den som et resultat av Ä sÞke i flertallige kjeder ved hjelp av LLM og grafisk fremstilling av forbindelser mellom sikkerhetsobjekter. Men den praktiske konklusjonen for administratorer er ganske jordnÊr: sjekk etter cifs-utils, tilstanden til brukernamespaces og kjerneoppdateringer, spesielt pÄ systemer med lokale brukere eller container-scenarier med utvidede namespace-funksjoner.
Kilde: linux.org.ru
