Po třech letech od vlny zranitelností (, , , , ) v subsystému AF_PACKET jádra Linux se objevuje další problém (), který umožňuje lokálnímu nepřidělenému uživateli spustit kód s právy root nebo se dostat z izolovaných kontejnerů, pokud má v nich root přístup.
Pro vytvoření soketu AF_PACKET a zneužití zranitelnosti jsou potřebná oprávnění CAP_NET_RAW. Nicméně, toto oprávnění může být získáno nepřiděleným uživatelem v kontejnerech vytvářených v systémech s povolenou podporou namespaces identit uživatelů (user namespaces). Například, user namespaces jsou ve výchozím nastavení povoleny v Ubuntu a Fedoře, ale nejsou aktivovány v Debiánu a RHEL. V Androidu má právo vytvářet sokety AF_PACKET proces mediaserver, přes který může být zranitelnost zneužita.
Zranitelnost je přítomna ve funkci tpacket_rcv a je způsobena chybou v výpočtu proměnné netoff. Útočník může vytvořit podmínky, za kterých se do proměnné netoff zapíše hodnota menší než proměnná maclen, což způsobí přetečení při výpočtu „macoff = netoff - maclen“ a nesprávné následné nastavení ukazatele na buffer pro příchozí data. V důsledku toho může útočník iniciovat zápis od 1 do 10 bytů do oblasti za vyhrazeným buferem. Upozorňuje se, že je vyvíjen exploit, který umožní získat root práva v systému.
Problém je přítomen v jádře od července 2008, tj. projevuje se ve všech aktuálních jádrech. Oprava je zatím dostupná ve formě . Sledovat výskyt aktualizací balíčků v distribucích lze na následujících stránkách: , , , , , .
Zdroj: opennet.ru
