GRO Frag — a șaptea vulnerabilitate din clasa Copy Fail, care oferă privilegii de root în Linux

A fost publicat un exploit pentru a șaptea vulnerabilitate (1, 2-3, 4, 5, 6) din kernelul Linux, care permite unui utilizator local neprivilegiat să obțină drepturi de root, prin rescrierea datelor din cache-ul de pagină. Identificatorul CVE nu a fost încă atribuit, iar informațiile despre problemă sunt limitate la codul exploitului. O corectare este disponibilă doar sub formă de patch, care a fost publicat pe 20 mai și acceptat în ramura principală a kernelului Linux pe 21 mai (versiunile corective ale kernelului nu sunt încă disponibile).

Vulnerabilitatea este prezentă în implementarea tehnologiei GRO (Generic Receive Offload), utilizată pentru a accelera procesarea pachetelor fragmentate. Această vulnerabilitate a fost cauzată de o eroare în implementarea mecanismului zerocopy în funcția skb_gro_receive(), care efectuează modificări directe ale datelor în cache-ul de pagină pentru a exclude bufferizarea inutilă. Când flag-ul SKBFL_MANAGED_FRAG_REFS era setat, salvarea referinței la paginile de memorie eliberate era omisă în câmpul shinfo->frags, după care acest câmp era asociat cu un alt skb fără a modifica contorul de referințe, ceea ce ducea la accesarea memoriei după eliberare (use-after-free). Problema a fost exploatată pentru rescrierea datelor din cache-ul de pagină, prin manipularea pointer-ului pe bufferul io_uring.

Atacul este posibil pe sistemele cu subsystemul io_uring activat (io_uring_disabled=0). Pentru a funcționa, exploit-ul necesită un executable cu flag-ul SUID-root disponibil pentru citire în sistem. Mecanismul de exploatare presupune că atacatorul reușește să facă baza de utilizatori să rămână în cache-ul de pagină, după care introduce în cache-ul respectiv șirul „hax::0:0::/root:/bin/sh”. Apoi este rulată comanda „su hax”, care obține nu baza originală de utilizatori de pe mediu de stocare, ci o copie modificată cu un nume fals de utilizator „hax”, căruia i s-au oferit drepturi de root și o parolă goală. Funcționarea exploit-ului a fost testată pe Ubuntu 24.04.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster