Nel kernel di Linux è stata identificata la quarta vulnerabilità nelle ultime due settimane (CVE-2026-46300), che consente a un utente non privilegiato di ottenere diritti di root sovrascrivendo i dati nella cache delle pagine. Alla vulnerabilità è stato assegnato il nome in codice Fragnesia o Copy Fail 3.0. La natura della vulnerabilità è simile a quelle precedentemente rivelate, Copy Fail e Dirty Frag. Come nel caso di Dirty Frag, anche questa nuova vulnerabilità si trova nel sottosistema xfrm-ESP, ma è causata da un altro errore e richiede una correzione separata. È disponibile un exploit funzionante.
La vulnerabilità si manifesta nei kernel Linux rilasciati dopo il 5 maggio, a causa dell'attivazione accidentale della correzione della vulnerabilità Dirty Frag. Per risolvere la vulnerabilità Fragnesia, è stata proposta una correzione per il kernel Linux. L'analisi di questa correzione ha mostrato che non è sufficiente, dopo di che è stata preparata una seconda versione della patch.
La vulnerabilità è presente nel sottosistema xfrm nell'implementazione del meccanismo di incapsulamento del protocollo ESP (Encapsulating Security Payload) in TCP (ESP-in-TCP, RFC 8229), utilizzato per tunnelare il traffico IPsec sopra TCP. Per escludere una sovrabbondanza di buffering, le operazioni utilizzando l'algoritmo AES-GCM venivano eseguite in loco tramite l'esecuzione di un'operazione XOR sui dati nella cache delle pagine. A causa di un errore logico, si verificavano condizioni che permettevano di sovrascrivere 1 byte nella cache delle pagine a un offset scelto. Ripetendo le operazioni, è possibile modificare byte per byte il contenuto di qualsiasi file nella cache delle pagine.
Tutte le operazioni di lettura dai file restituiscono prima di tutto il contenuto dalla cache della pagina. In caso di modifica dei dati nella cache della pagina, le operazioni di lettura dal file restituiranno informazioni non realmente memorizzate sul supporto, ma dati alterati. Sfruttare questa vulnerabilità implica modificare la cache della pagina per un file eseguibile con il flag suid root, precedentemente letto per essere inserito nella cache della pagina. Nell'exploit proposto dai ricercatori, i primi 192 byte del file /usr/bin/su vengono sovrascritti nella cache della pagina con codice per avviare /usr/bin/sh. Il successivo avvio della utility "su" comporta che in memoria venga caricato non il file eseguibile originale dal supporto, ma una copia modificata dalla cache della pagina.
Per sfruttare la vulnerabilità Fragnesia, deve essere consentita la creazione di spazi dei nomi degli identificatori utente (user namespace) nel sistema. In Ubuntu, questa operazione è disabilitata per impostazione predefinita, ma può essere abilitata tramite sysctl "kernel.apparmor_restrict_unprivileged_userns=0" o i profili AppArmor. Negli altri distributori, la disponibilità dello user namespace per gli utenti non privilegiati dipende dall'impostazione di sysctl "kernel.unprivileged_userns_clone" (se 0, è vietato).
Gli aggiornamenti con le correzioni per il kernel Linux e i pacchetti kernel nei distributori non sono ancora stati pubblicati. È possibile valutare lo stato della risoluzione delle vulnerabilità nei distributori sui seguenti siti: Debian, Ubuntu, SUSE/openSUSE, RHEL, Gentoo, Arch, Fedora. Come soluzione di protezione alternativa, è possibile bloccare il caricamento dei moduli del kernel esp4 e 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"
Fonte: opennet.ru
