Vulnerabilități exploatabile în nf_tables, watch_queue și IPsec au fost identificate în nucleul Linux

În nucleul Linux au fost identificate mai multe vulnerabilități periculoase care permit unui utilizator local să își crească privilegiile în sistem. Prototipuri funcționale de exploit-uri au fost pregătite pentru toate problemele discutate.

  • Vulnerabilitatea (CVE-2022-0995) din subsystemul de urmărire a evenimentelor watch_queue, care duce la scrierea de date în zone de memorie ale nucleului în afara bufferului alocat. Un atac poate fi realizat de orice utilizator fără privilegii și poate duce la executarea codului propriu cu drepturi de nucleu. Vulnerabilitatea este prezentă în funcția watch_queue_set_size() și este legată de încercarea de a curăța toate pointerele din listă, chiar dacă pentru acestea nu a fost alocată memorie. Problema apare la compilarea nucleului cu opțiunea „CONFIG_WATCH_QUEUE=y”, care este utilizată în majoritatea distribuțiilor Linux.

    Vulnerabilitatea a fost remediată în modificarea adăugată în nucleu pe 11 martie. Puteți urmări publicațiile actualizărilor de pachete în distribuții pe aceste pagini: Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux. Prototipul exploit-ului este deja disponibil public și permite obținerea accesului root la rularea în Ubuntu 21.10 cu nucleul 5.13.0-37.

    Vulnerabilități exploatabile în nf_tables, watch_queue și IPsec au fost identificate în nucleul Linux
  • Vulnerabilitatea (CVE-2022-27666) în modulele nucleului esp4 și esp6 care implementează transformările ESP (Encapsulating Security Payload) pentru IPsec, utilizate în cazul IPv4 și IPv6. Vulnerabilitatea permite unui utilizator local cu privilegii obișnuite să suprascrie obiecte în memoria nucleului și să își crească privilegiile în sistem. Problema este cauzată de lipsa verificării dimensiunii memoriei alocate și a datelor efectiv primite, având în vedere că dimensiunea maximă a mesajului putea depăși dimensiunea maximă a memoriei alocate pentru structura skb_page_frag_refill.

    Vulnerabilitatea a fost remediată în nucleul din 7 martie (corectată în 5.17, 5.16.15 etc.). Puteți urmări publicațiile actualizărilor de pachete în distribuții pe aceste pagini: Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux. Prototipul funcțional al exploit-ului, care permite unui utilizator obișnuit să obțină acces root în Ubuntu Desktop 21.10 în configurația implicită, a fost deja postat pe GitHub. Se afirmă că, cu modificări minore, exploit-ul va fi funcțional și în Fedora și Debian. Este remarcabil că exploit-ul a fost inițial pregătit pentru competiția pwn2own 2022, dar dezvoltatorii nucleului au identificat și corectat eroarea asociată, motiv pentru care s-a decis să se dezvăluie detalii despre vulnerabilitate.

  • Două vulnerabilități (CVE-2022-1015, CVE-2022-1016) în subsistemul netfilter în modulul nf_tables, care asigură funcționarea filtrului de pachete nftables. Prima problemă permite unui utilizator local fără privilegii să scrie dincolo de bufferul alocat în stivă. Supraîncărcarea apare atunci când se procesează expresii nftables formatate într-un anumit mod, care sunt verificate în etapa de control a indecșilor definiți de utilizator, având acces la regulile nftables.

    Vulnerabilitatea este cauzată de faptul că dezvoltatorii au presupus că valoarea „enum nft_registers reg” este un singur byte, în timp ce, în activarea anumitor optimizări, compilatorul, conform specificației C89, poate utiliza o valoare de 32 de biți. Din cauza acestei particularități, dimensiunea utilizată pentru verificare și alocare de memorie nu corespunde dimensiunii reale a datelor în structură, ceea ce duce la suprapunerea unei părți a structurii pe pointerele din stivă.

    Problema poate fi exploatată pentru a executa codul propriu la nivel de nucleu, dar pentru a realiza un atac de succes, este necesar accesul la nftables, care poate fi obținut într-un spațiu de nume de rețea separat (network namespaces) având drepturi CLONE_NEWUSER sau CLONE_NEWNET (de exemplu, în cazul în care este posibil să se lanseze un container izolat). Vulnerabilitatea este, de asemenea, strâns legată de optimizările aplicate de compilator, care, de exemplu, sunt activate atunci când se compilează în modul „CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y”. Exploatarea vulnerabilității este posibilă începând cu nucleul Linux 5.12.

    A doua vulnerabilitate în netfilter este cauzată de accesarea unei zone de memorie deja eliberate (use-after-free) în handlerul nft_do_chain și poate duce la scurgeri de zone de memorie neinițializate ale nucleului, care pot fi citite prin manipularea expresiilor nftables și utilizate, de exemplu, pentru a determina adresele pointerilor în dezvoltarea exploit-urilor pentru alte vulnerabilități. Exploatarea vulnerabilității este posibilă începând cu nucleul Linux 5.13.

    Vulnerabilitățile au fost remediate în actualizările corective de astăzi ale nucleului 5.17.1, 5.16.18, 5.15.32, 5.10.109, 5.4.188, 4.19.237, 4.14.274 și 4.9.309. Puteți urmări publicațiile actualizărilor pachetelor în distribuții pe aceste pagini: Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux. Cercetătorul care a identificat problemele a declarat că a pregătit exploituri funcționale pentru ambele vulnerabilități, care vor fi publicate în câteva zile, după ce distribuțiile vor lansa actualizările pachetelor cu nucleul.

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