Zveřejněno bylo zpřístupněno zneužití sedmé zranitelnosti (1, 2-3, 4, 5, 6) v jádře. Linux, což umožňuje neprivilegovanému lokálnímu uživateli získat root oprávnění přepsáním dat v mezipaměti stránek. Identifikátor CVE dosud nebyl přiřazen a kromě exploitového kódu nejsou o problému v současné době k dispozici žádné informace. Oprava je k dispozici pouze jako záplata, která byla publikována 20. května a do hlavní řady jádra přijata 21. května. Linux (údržbové verze jádra zatím nejsou k dispozici).
V implementaci technologie Generic Receive Offload (GRO), která se používá k urychlení zpracování segmentovaných paketů, existuje zranitelnost. Zranitelnost je způsobena chybou v mechanismu nulového kopírování ve funkci skb_gro_receive(), která přímo upravuje data v mezipaměti stránek, aby se zabránilo zbytečnému ukládání do vyrovnávací paměti. Při nastavení příznaku SKBFL_MANAGED_FRAG_REFS bylo ukládání odkazu na uvolněné paměťové stránky do pole shinfo->frags přeskočeno. Toto pole bylo poté připojeno k jinému skb beze změny čítače odkazů, což vedlo k přístupu typu use-after-free (use-after-free). Tato zranitelnost byla zneužita k přepsání dat v mezipaměti stránek manipulací s ukazatelem vyrovnávací paměti io_uring.
Útok je možný na systémech s povoleným subsystémem io_uring (io_uring_disabled=0). Aby exploit fungoval, musí mít systém čitelný spustitelný soubor s příznakem SUID-root. Mechanismus exploitu spočívá v tom, že útočník získá uživatelskou databázi z mezipaměti stránek a poté do mezipaměti vloží řetězec „hax::0:0::/root:/bin/sh“. Poté se spustí příkaz „su hax“, který z disku nenačte původní uživatelskou databázi, ale upravenou kopii s fiktivním přihlašovacím jménem „hax“, přiřazenými root právy a prázdným heslem. Exploit byl testován v Ubuntu 24.04.
Zdroj: opennet.ru
