Zraniteľnosť v implementácii soketu AF_PACKET jadra Linuxu

Tri roky po vlne zraniteľností (1, 2, 3, 4, 5) v podsystéme AF_PACKET jadra Linuxu identifikované ešte jeden problém (CVE-2020 14386,), čo umožňuje miestnemu neprivilegovanému používateľovi spustiť kód ako root alebo ukončiť izolované kontajnery, ak má root prístup.

Vytvorenie soketu AF_PACKET a využitie tejto zraniteľnosti vyžaduje privilégiá CAP_NET_RAW. Uvedené oprávnenie však môže získať neprivilegovaný používateľ v kontajneroch vytvorených v systémoch s povolenou podporou pre priestory názvov používateľov. Napríklad priestory mien používateľov sú predvolene povolené na Ubuntu a Fedore, ale nie sú povolené na Debiane a RHEL. V systéme Android má proces mediaserver právo vytvárať zásuvky AF_PACKET, prostredníctvom ktorých možno zraniteľnosť zneužiť.

Zraniteľnosť je prítomná vo funkcii tpacket_rcv a je spôsobená chybou vo výpočte premennej netoff. Útočník môže vytvoriť podmienky, v ktorých sa premenná netoff zapíše na hodnotu menšiu ako premenná maclen, čo spôsobí pretečenie pri výpočte "macoff = netoff - maclen" a následne nesprávne nastavenie ukazovateľa do vyrovnávacej pamäte pre prichádzajúce dáta. Výsledkom je, že útočník môže iniciovať zápis od 1 do 10 bajtov do oblasti za hranicou pridelenej vyrovnávacej pamäte. Je potrebné poznamenať, že je vo vývoji exploit, ktorý vám umožňuje získať práva root v systéme.

Problém je v jadre prítomný od júla 2008, t.j. sa prejavuje vo všetkých skutočných jadrách. Oprava je momentálne dostupná ako náplasť. Dostupnosť aktualizácií balíkov v distribúciách môžete sledovať na nasledujúcich stránkach: ubuntu, Fedora, SUSE, debian, RHEL, Oblúk.

Zdroj: opennet.ru

Pridať komentár