U Linux kernelu otkrivena je nova ranjivost lokalnog eskaliranja privilegija pod nazivom Fragnesia i identifikatorom CVE-2026-46300. Problem se odnosi na istu klasu napada na page cache kao i nedavno raspravljani Copy Fail i Dirty Frag, ali nije ponovna objava stare greške: radi se o zasebnom defektu u kodu XFRM ESP-in-TCP.
Ranjivost je otkrio istraživač William Bowling iz tima V12 Security. Prema objavljenom opisu, Fragnesia omogućuje neprivilegiranom lokalnom korisniku da mijenja sadržaj datoteka koje su samo za čitanje u memoriji page cache i na taj način izvršava kod s pravima root. Za razliku od mnogih starih LPE eksploita, napad ne zahtijeva utrku i istraživači ga opisuje kao determinističkog.
Tehnički, problem je u tome što je prilikom spajanja mrežnih spremnika jezgra mogla izgubiti oznaku da je fragment podataka "zajednički" i povezan s vanjskom stranicom memorije, uključujući page cache. U predloženom ispravku to se opisuje kao greška u skb_try_coalesce(): prilikom premještanja paged fragments iz jednog sk_buff-a u drugi, oznaka SKBFL_SHARED_FRAG nije očuvana. Kao rezultat, kasniji kod ESP mogao je pogrešno smatrati da je spremnik siguran za promjenu.
Praktični učinak je u tome što su podaci, koji su ranije stavljeni u TCP red iz datoteke, nakon prebacivanja soketa u način espintcp mogli biti obrađivani od strane jezgre kao ESP šifrat. Prilikom dešifriranja AES-GCM bajtovi su se mijenjali direktno u stranici page cache povezanoj s datotekom. To ne mijenja datoteku na disku, ali mijenja njezinu reprezentaciju u memoriji prije nego što se stranica izbaci iz predmemorije.
U objavljenoj demonstraciji napada, kao cilj je korištena /usr/bin/su: eksploatacija je modificirala prve bajtove binarne datoteke u page cache i zatim pokrenula promijenjenu u memoriji kopiju, dobivajući shell s pravima root. Izvorna datoteka na disku ostala je nepromijenjena, što čini problem posebno neugodnim za dijagnosticiranje: tragovi eksploatacije mogu nestati nakon čišćenja page cache-a ili ponovnog pokretanja.
Fragnesia se pojavila manje od tjedan dana nakon Dirty Frag. U V12 naglašavaju da se radi o zasebnoj grešci na istoj površini napada – ESP/XFRM, a ne o preimenovanju već ispravljene ranjivosti. Phoronix također napominje da je u trenutku objave bio dostupan proof-of-concept, a ispravak je bio mali patch za net/core/skbuff.c, koji još nije odmah dospio u glavne grane jezgre.
Canonical je dodijelio CVE-2026-46300 visok prioritet za Ubuntu, navodeći razlog kao „trivial local privilege escalation“. Na stranici sigurnosti Ubuntua za pogođene jezgre na dan ažuriranja 13. svibnja status je bio „Needs evaluation“, a u napomeni je posebno navedeno da je problem također prisutan u ESP-modulu jezgre i da ga se može privremeno ublažiti na isti način kao i Dirty Frag.
Debian Security Tracker u trenutku pregleda označava ranjivima jezgre u granama bullseye, bookworm, trixie, forky i sid; za paket linux u unstable fiksna verzija još nije bila navedena.
Privremena mjera zaštite ostaje ista kao i za Dirty Frag: onemogućiti učitavanje modula esp4, esp6 i rxrpc, ako nisu potrebni sustavu. To može narušiti rad IPsec tunela na čvorovima gdje se koriste kernel ESP, strongSwan, Libreswan ili slične konfiguracije, stoga se tu mjeru na VPN-gateways treba primijeniti tek nakon procjene posljedica.
Primjer privremenog ublažavanja za administratore:
sudo sh -c "printf ‘install esp4 /bin/falseninstall esp6 /bin/falseninstall rxrpc /bin/falsen’ > /etc/modprobe.d/dirtyfrag.conf" sudo rmmod esp4 esp6 rxrpc 2>/dev/null || true
Ako postoji sumnja da je sustav već mogao biti napadnut, sama blokada modula nije dovoljna: budući da javna demonstracija mijenja izvršnu datoteku upravo u page cache-u, administratori preporučuju čišćenje cache-a stranica ili ponovni pokretanje sustava nakon primjene mjera zaštite. CloudLinux izričito napominje da nakon eksploatacije /usr/bin/su može ostati izmijenjen u memoriji do izbacivanja odgovarajućih stranica.
Za uklanjanje privremenog pravila nakon instalacije ispravljene jezgre može se ukloniti stvorena datoteka:
sudo rm /etc/modprobe.d/dirtyfrag.conf
Glavna preporuka ostaje standardna: instalirati ispravljenu jezgru od svog distributera i ponovo pokrenuti sustav. Prije ažuriranja najveći rizik nose višekorisnički poslužitelji, CI-trkači, shared hosting, kontejnerske build-farme i bilo koje mašine gdje neprivilegirani ili djelomično povjerljivi korisnici mogu izvršavati lokalni kod.
Izvor: linux.org.ru
