Chyba zabezpečení v implementaci soketu AF_PACKET linuxového jádra

Tři roky po vlně zranitelnosti (1, 2, 3, 4, 5) v subsystému AF_PACKET linuxového jádra identifikované ještě jeden problém (CVE-2020-14386), což umožňuje místnímu neprivilegovanému uživateli spouštět kód jako root nebo ukončit izolované kontejnery, pokud mají přístup root.

Vytvoření soketu AF_PACKET a zneužití této chyby zabezpečení vyžaduje oprávnění CAP_NET_RAW. Zadané oprávnění však může získat neprivilegovaný uživatel v kontejnerech vytvořených v systémech s povolenou podporou jmenných prostorů uživatelů. Například uživatelské jmenné prostory jsou ve výchozím nastavení povoleny na Ubuntu a Fedoře, ale nejsou povoleny na Debianu a RHEL. V systému Android má proces mediaserveru právo vytvářet sokety AF_PACKET, prostřednictvím kterých lze zranitelnost zneužít.

Chyba zabezpečení se vyskytuje ve funkci tpacket_rcv a je způsobena chybou ve výpočtu proměnné netoff. Útočník může vytvořit podmínky, kdy je proměnná netoff zapsána na hodnotu menší než proměnná maclen, což způsobí přetečení při výpočtu "macoff = netoff - maclen" a následně nesprávné nastavení ukazatele na vyrovnávací paměť pro příchozí data. V důsledku toho může útočník zahájit zápis 1 až 10 bajtů do oblasti za hranicí přidělené vyrovnávací paměti. Je třeba poznamenat, že je ve vývoji exploit, který vám umožní získat práva root v systému.

Problém je v jádře od července 2008, tzn. se projevuje ve všech skutečných jádrech. Oprava je aktuálně dostupná jako náplast. Dostupnost aktualizací balíčků v distribucích můžete sledovat na následujících stránkách: ubuntu, Fedora, SUSE, Debian, RHEL, Oblouk.

Zdroj: opennet.ru

Přidat komentář