Ve linuxovém jádře byla zjištěna čtvrtá zranitelnost za poslední dva týdny (CVE-2026-46300), která umožňuje neoprávněnému uživateli získat oprávnění root přepsáním dat ve stránkovém cache. Zranitelnosti bylo přiděleno kódové jméno Fragnesia nebo Copy Fail 3.0. Podstata zranitelnosti je podobná dříve zveřejněným zranitelnostem Copy Fail a Dirty Frag. Jako v případě Dirty Frag, i nová zranitelnost se nachází v podsystemu xfrm-ESP, ale je vyvolána jinou chybou a vyžaduje samostatné opravení. Je k dispozici funkční exploit.
Zranitelnost se projevuje v jádrech Linuxu vydaných po 5. květnu, kvůli náhodnému aktivování opravou zranitelnosti Dirty Frag. Pro odstranění zranitelnosti Fragnesia bylo navrženo opravení pro jádro Linux. Analýza tohoto opravení ukázala, že je nedostatečné, a proto byl připravena druhá verze patche.
Zranitelnost se nachází v podsystemu xfrm v implementaci mechanismu enkapsulace protokolu ESP (Encapsulating Security Payload) v TCP (ESP-in-TCP, RFC 8229), který se používá pro tunelování provozu IPsec přes TCP. Aby se zabránilo nadměrnému vyrovnávání operací s použitím algoritmu AES-GCM, prováděly se na místě prostřednictvím provádění operace XOR na datech ve stránkovém cache. V důsledku logické chyby vznikly podmínky, které umožnily přepsat 1 byt ve stránkovém cache na vybraném posunu. Opakováním operací je možné byte-by-byte měnit obsah jakéhokoli souboru ve stránkovém cache.
Všechny operace čtení ze souborů nejprve vrací obsah ze stránkového cache. V případě modifikace dat ve stránkovém cache operace čtení ze souboru povedou k vrácení ne reálně uložených informací na úložišti, ale k zaměněným datům. Využití zranitelnosti spočívá ve změně stránkového cache pro spustitelný soubor s flagem suid root, předem přečtený, aby se dostal do stránkového cache. V navrhovaném exploitě výzkumníky se prvních 192 bytů souboru /usr/bin/su ve stránkovém cache přepisují kódem pro spuštění /usr/bin/sh. Následné spuštění utility „su“ způsobí, že do paměti nebude načten originální spustitelný soubor z úložiště, ale změněná kopie ze stránkového cache.
Pro využívání zranitelnosti Fragnesia musí být v systému povoleno vytváření jmenných prostorů identifikátorů uživatelů (user namespace). V Ubuntu je tato operace ve výchozím nastavení zakázána, ale může být povolena pomocí sysctl „kernel.apparmor_restrict_unprivileged_userns=0“ nebo profilů AppArmor. V ostatních distribucích závisí dostupnost „user namespace“ pro nepřivilegované uživatele na nastavení sysctl „kernel.unprivileged_userns_clone“ (pokud je 0, je zakázáno).
Aktualizace s opravami pro jádro Linuxu a balíčky s jádrem v distribucích dosud nebyly zveřejněny. Stav odstranění zranitelností v distribucích lze posoudit na těchto stránkách: Debian, Ubuntu, SUSE/openSUSE, RHEL, Gentoo, Arch, Fedora. Jako obcházející ochranu lze blokovat načítání modulů jádra esp4 a esp6:
sh -c „printf 'install esp4 /bin/false\ninstall esp6 /bin/false\n' > /etc/modprobe.d/dirtyfrag.conf; rmmod esp4 esp6 2>/dev/null; true“
Zdroj: opennet.ru
