Ei au găsit o vulnerabilitate VFS în Linux care permite escaladarea privilegiilor

Acum cateva zile a fost lansată știrea că vulnerabilitatea a fost identificată (catalogat deja sub CVE-2022-0185) șin API-ul context al sistemului de fișiere furnizate de kernel linux care ar putea permite unui utilizator local să obțină privilegii root pe sistem.

Se menționează că problema este că un utilizator neprivilegiat poate obține astfel de permisiuni într-un container izolat dacă suportul pentru spațiile de nume de utilizator este activat pe sistem.

De exemplu, spațiile de nume de utilizator sunt activate implicit pe Ubuntu și Fedora, dar nu sunt activate pe Debian și RHEL (cu excepția cazului în care sunt utilizate platforme de izolare a containerelor). În plus față de escaladarea privilegiilor, vulnerabilitatea poate fi folosită și pentru a ieși dintr-un container izolat dacă containerul are autoritate CAP_SYS_ADMIN.

Vulnerabilitate există în funcția legacy_parse_param() în VFS și se datorează lipsei de validare corespunzătoare a dimensiunii maxime a parametrilor furnizați pe sistemele de fișiere care nu acceptă API-ul context al sistemului de fișiere.

Recent, câțiva prieteni din echipa mea CTF Crusaders of Rust și eu am întâlnit o depășire de heap de kernel Linux de 0 zile. Am găsit eroarea prin fuzzing cu syzkaller și l-am dezvoltat rapid într-un exploit Ubuntu LPE. Apoi l-am rescris pentru a scăpa și a roota infrastructura Google Kubernetes CTF consolidată. Această eroare afectează toate versiunile de kernel începând cu 5.1 (5.16 este în curs de desfășurare) și i s-a atribuit CVE-2022-0185. Am raportat deja acest lucru către lista de distribuție și securitate Linux, iar eroarea a fost remediată de la lansarea acestui articol.

Trecerea unui parametru prea mare poate cauza un depășire a variabilei întregi utilizate pentru a calcula dimensiunea datelor care sunt scrise; codul are o verificare „dacă (len > PAGE_SIZE - 2 - dimensiune)” buffer overflow, care nu funcționează dacă valoarea mărimii este mai mare de 4094 din cauza depășirii întregului prin limita inferioară (depășirea întregului, când se convertește 4096 – 2 – 4095 la unsigned int, primește 2147483648).

Acest bug permite, atunci când accesați o imagine FS special creată, provoacă o depășire a memoriei tampon și suprascrie datele kernel după zona de memorie alocată. Pentru a exploata vulnerabilitatea, sunt necesare drepturi CAP_SYS_ADMIN, adică autoritatea de administrator.

Începând cu 2022, colegii noștri au decis să găsească o zi 0 în 2022. Nu eram siguri exact cum să începem, dar, deoarece echipa noastră avea un grad ridicat de familiaritate cu vulnerabilitățile kernelului Linux, am decis să cumpărăm doar niște servere dedicate. și rulați syzkaller fuzzer de la Google. Pe 6 ianuarie, la 22:30 PST, chop0 a primit următorul raport al unei erori KASAN în legacy_parse_param: slab-out-of-bounds Scrieți în legacy_parse_param. Se pare că syzbot a găsit această problemă cu doar 6 zile mai devreme când a fuzz Android, dar problema nu a fost rezolvată și ne-am gândit naiv că nimeni altcineva nu a observat.

În sfârșit, este de menționat că problema se manifestă încă de la versiunea 5.1 a kernelului Linux și a fost rezolvată în actualizările care au fost lansate în urmă cu câteva zile în versiunile 5.16.2, 5.15.16, 5.10.93, 5.4.173.

Pe lângă asta Actualizările pachetului de vulnerabilități au fost deja lansate alin RHELDebianfedora şi Ubuntu. Deși soluția nu este încă disponibilă în Arch LinuxGentooSUSE y openSUSE.

În cazul acestora, se menționează că, ca soluție de securitate pentru sistemele care nu folosesc izolarea containerelor, puteți seta valoarea lui sysctl „user.max_user_namespaces” la 0:

Cercetatorul care a identificat problema a publicat o demonstrație a unui exploit que permite rularea codului ca root pe Ubuntu 20.04 în configurația implicită. Este planificat ca codul de exploatare este publicat pe GitHub într-o săptămână după că distribuțiile lansează o actualizare care remediază vulnerabilitatea.

În cele din urmă dacă sunteți interesat să aflați mai multe despre asta, puteți verifica detaliile în următorul link.


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: AB Internet Networks 2008 SL
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.

  1.   galiciană el a spus

    Încă un motiv pentru a nu atinge snap cu un băț.