V jádru Linux byla odhalena zranitelnost Špatný Epoll, registrovaná jako CVE-2026-46242. Umožňuje běžnému místnímu uživateli bez speciálních oprávnění zvýšit privilegium na úroveň root. Podle autora výzkumu Jaeona Chonga, tento problém se týká nejen Linux desktopů a serverů, ale také části zařízení Android na nových verzích jádra — to je zvlášť zdůrazněno v popisu Bad Epoll.
Chyba se nachází v subsystému epoll — standardní mechanismus Linuxu pro sledování mnoha popisovačů souborů, síťových připojení a událostí vstupu/výstupu. Tyto mechanismy aktivně používají servery, prohlížeče a síťové služby, proto není možné jednoduše epoll zakázat. V technické analýze je zranitelnost popsána jako závod, vedoucí k use-after-free: při současném uzavření souvisejících epoll objektů jeden vlákno uvolňuje vnitřní struktury, zatímco druhé k nim stále přistupuje.
Přesněji řečeno, problém se projevuje ve situaci, kdy jeden epoll popisovač sleduje druhý, a oba popisovače jsou uzavřeny paralelně. Po zavolání __ep_remove() se pole file->f_ep dočasně nastaví na nulovou hodnotu, a konkurenční __fput() může usoudit, že další údržba již není potřebná. Výsledkem je, že objekt struct eventpoll nebo s ním spojený struct file je uvolněn příliš brzy, ale kód stále pracuje s ukazateli na již uvolněnou paměť. To dává útočníkovi primitiv pro poškozování paměti jádra.
Pro útok nejsou potřeba další oprávnění a nejsou vyžadovány uživatelské namespaces — stačí mít CONFIG_EPOLL, což činí problém obzvlášť nepříjemným pro běžné Linuxové systémy. Podle počáteční zprávy výzkumníka, chyba byla zanesena do jádra commitem 58c9b016e128 v roce 2023, a opravena commitem a6dc643c693.
I přes velmi úzké okno závodu, výzkumník připravil funkční exploit pro Google kernelCTF. V popisu exploitace je ukázáno, jak chyba přechází na 8-bytový zápis do uvolněné struktury, poté na únik paměti jádra přes /proc/self/fdinfo, záchyt file->f_op->poll a ROP řetězec pro získání root. Pro cíl lts-6.12.67 je uvedena spolehlivost asi 99%, pro COS — kolem 98%; Android exploit, podle autora, je ještě ve stádiu práce.
Pod útokem jsou jádra založená na větvi 6.4 a novější, pokud nebyla opravena. Starší Android zařízení na jádrech 6.1, včetně Pixel 8 a podobných modelů, autor považuje za nezranitelná. Uživatelé a administrátoři mají k dispozici pouze jednu rozumnou možnost ochrany — nainstalovat aktualizaci jádra od svého distribuce nebo dodavatele zařízení.
Zdroj: linux.org.ru
