O vulnerabilitate de peste 15 ani în urmă în Netfilter a permis escaladarea privilegiilor

Acum câteva zile a fost lansată știrea că a fost identificată o vulnerabilitate în Netfilter (un subsistem de nucleu Linux folosit pentru a filtra și modifica pachetele de rețea), care permite unui utilizator local să câștige privilegii de root într-un sistemchiar în timp ce se află într-un recipient izolat.

Vulnerabilitatea CVE-2021-22555 este o problemă care a apărut de la nucleul 2.6.19, lansat acum 15 ani și este cauzată de o eroare la drivere IPT_SO_SET_REPLACE și IP6T_SO_SET_REPLACE, ceea ce provoacă o depășire a bufferului atunci când se trimit parametri special decorați prin apelul setsockopt în modul compat.

Poate că mulți în acest moment se vor întreba cum este posibil ca un defect din Kernel-ul Linux să treacă neobservat atât de mult timp și răspunsul la asta este că, deși defectul care a fost prezent de la Linux 2.6.19, vulnerabilitatea a fost găsită prin cod audit, chiar dacă codul C nu era reproductibil, deci nu a putut fi exploatat deoarece resursele necesare pentru escaladarea privilegiilor nu au fost găsite în acel moment.

De exemplu, suportul pentru spații de nume de utilizator neprivilegiate se află în nucleul 3.8. De asemenea, unele distribuții au un patch care adaugă sysctl pentru a dezactiva spațiile de nume ale utilizatorilor fără privilegii.

În circumstanțe normale, numai utilizatorul root poate apela compat_setsockopt ()Dar permisiunile necesare a efectua un atac pot fi obținute și de un utilizator neprivilegiat pe sistemele cu spații de nume de utilizator activate.

CVE-2021-22555 este o vulnerabilitate de scriere stivă de 15 ani în Linux Netfilter, suficient de puternică pentru a ocoli toate atenuările moderne de securitate și pentru a realiza execuția codului kernel.

Ca atare, se descrie că un utilizator local poate crea un container cu un utilizator root separat și poate exploata vulnerabilitatea de acoloí. De exemplu, „spațiile de nume ale utilizatorilor” sunt incluse în mod implicit în Ubuntu și Fedora, dar nu în Debian și RHEL.

Această vulnerabilitate poate fi exploatată prin suprascrierea parțială a fișierului m_list->nextindicator msg_msgstructura și obținerea unui după utilizare gratuit. Acest lucru este suficient de puternic pentru ca codul dvs. de nucleu să ruleze ocolind KASLR, SMAP și SMEP.

De asemenea, problema apare în funcția xt_compat_target_from_user () din cauza calculului incorect al dimensiunii memoriei atunci când se salvează structurile nucleului după conversia de la reprezentarea de 32 de biți la 64 de biți.

Ca atare, se menționează că eroarea permite scrierea a patru octeți „zero” în orice poziție din afara bufferului atribuit, limitat de offset 0x4C. Din această cauză, se menționează că această caracteristică sa dovedit a fi suficientă pentru a crea un exploit care permite obținerea drepturilor de root: prin ștergerea m_list-> următorul indicator din structura msg_msg, au fost create condițiile pentru a accesa datele după eliberarea memoriei (use-after-free), care a fost apoi utilizată pentru a obține informații despre adrese și modificări la alte structuri prin manipularea apelului de sistem msgsnd ().

În ceea ce privește raportul de eroare, la fel ca orice vulnerabilitate detectată, aceasta implică un proces și raportul care a fost făcut dezvoltatorilor de kernel în aprilie, cu care ulterior a fost corectat în câteva zile și patch-ul care este inclus în toate distribuțiile acceptate, astfel încât informațiile despre eroare pot fi publicate ulterior.

Proiectele Debian, Arch Linux și Fedora au generat deja actualizări de pachete. Începând cu Ubuntu, actualizările RHEL și SUSE sunt în lucru. Deoarece eroarea este gravă, exploatabilă în practică și permite să scape din container, Google și-a estimat descoperirea la 10,000 de dolari și a dublat recompensa cercetătorului care a identificat vulnerabilitatea și pentru identificarea unei metode pentru a evita izolarea containerelor Kubernetes pe clusterul kCTF.

Pentru testare, a fost pregătit un prototip de lucru al unui exploit care ocolește mecanismele de protecție KASLR, SMAP și SMEP.

Î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.