În corectarea vulnerabilității din biblioteca libnv, lansată la începutul lunii septembrie, a fost identificată o eroare logică, din cauza căreia vulnerabilitatea nu a fost corect remediată și sistemul a rămas expus la atacuri. Biblioteca libnv este dezvoltată de proiectul FreeBSD și este utilizată în nucleu și în aplicațiile din sistemul de bază pentru procesarea listelor în format cheie/valoare și pentru organizarea transferului de date între procese. Biblioteca se bazează pe algoritmul nvlist, utilizat în proiectul OpenZFS, dar în FreeBSD a fost creată o implementare proprie, astfel că vulnerabilitatea nu afectează OpenZFS.
Vulnerabilitatea este cauzată de o supraîncărcare a unui număr întreg, ceea ce duce la alocarea unui buffer de dimensiune mai mică decât blocul de date scris în buffer. Eroarea admisă poate fi utilizată potențial pentru a-și crește privilegiile prin suprascrierea zonelor de memorie în nucleu și în procesele de sistem; de exemplu, libnv este utilizat în libcasper la interacțiunea dintre codul privilegiat și cel neprivilegiat. Remedierea corectă a vulnerabilității (CVE-2024-45287) a fost propusă în actualizările 14.1-RELEASE-p5, 14.0-RELEASE-p11, 13.4-RELEASE-p1 și 13.3-RELEASE-p7, precum și sub formă de patch.
De asemenea, în FreeBSD a fost remediată vulnerabilitatea (CVE-2024-41721) în hipervizorul bhyve, care permite potențial executarea de cod în procesul care rulează pe sistemul gazdă (de obicei cu drepturi de root, dar izolat într-un sandbox bazat pe Capsicum), în timpul manipulărilor din interiorul sistemului gazdă. Vulnerabilitatea este prezentă în codul de emulare a controlerului USB XHCI și este cauzată de o verificare insuficientă a limitelor buffer-ului, ceea ce poate conduce la citirea de date dintr-o zonă din afara buffer-ului și, de asemenea, potențial la posibilitatea de a scrie într-o zonă arbitrară de memorie a procesului. Atacul poate fi realizat în cazul în care există posibilitatea de a lansa procese privilegiate în sistemul gazdă. Vulnerabilitatea a fost remediată în actualizările FreeBSD 14.1-RELEASE-p5, 14.0-RELEASE-p11, 13.4-RELEASE-p1 și 13.3-RELEASE-p7.
În plus, se remarcă publicarea prototipurilor de exploatare și a descrierilor metodologiilor de exploatare pentru vulnerabilitățile identificate anterior în kernelul Linux CVE-2024-26808 și CVE-2024-1085. Problemele au fost remediate în actualizările nucleului 5.10.210, 5.15.149, 6.1.76, 6.6.15, 6.7.3 și 6.8, și au fost deja corectate în distribuțiile principale (Debian, Ubuntu, RHEL, SUSE, Fedora). Vulnerabilitățile sunt cauzate de accesarea unei zone de memorie deja eliberate în funcțiile nft_chain_filter și nft_setelem_catchall_deactivate în subsistemul netfilter și permit executarea de cod cu drepturi root. Pentru a efectua un atac, este necesar să aveți acces la nftables, care poate fi obținut în cazul deținerii dreptului CAP_NET_ADMIN în orice spațiu de nume de identificatori de utilizator (user namespace) sau spațiu de nume de rețea (network namespace), oferit, de exemplu, în containere izolate.
Exploiturile au fost pregătite de participanții la inițiativa KernelCTF (Kernel Capture the Flag), în cadrul căreia compania Google oferă recompense pentru identificarea vulnerabilităților din kernelul Linux. Inițial, problemele erau considerate ca fiind unele dintre multe potențiale vulnerabilități trecătoare în kernel – de exemplu, în actualizarea din iunie a pachetului cu kernelul 5.10 în Debian, pe lângă CVE-2024-26808 au fost remediate încă 345 (!) potențiale vulnerabilități. Săptămânal, în kernel sunt identificate câteva zeci de noi vulnerabilități care anterior nu fuseseră asociate cu probleme de securitate (de exemplu, săptămâna trecută au fost marcate 68 de vulnerabilități).
Sursa: opennet.ro
