Sono state rivelate due nuove vulnerabilità nel kernel Linux che consentono a un utente non privilegiato di ottenere diritti di root sovrascrivendo i dati nella cache delle pagine. Sono stati preparati exploit funzionanti per entrambe le vulnerabilità.
- PEdit-CoW (CVE-2026-46331, exploit 1, exploit 2) — un errore nell'applicazione del meccanismo copy-on-write nel codice di modifica degli header dei pacchetti (act_pedit), utilizzato nel gestore di pacchetti di rete (net/sched), consente di scrivere dati al di fuori del buffer riservato, il che può essere sfruttato per sovrascrivere dati nella cache delle pagine a uno spostamento scelto. L'errore è causato dal fatto che il controllo dell'area valida per la scrittura dei dati veniva effettuato senza considerare che lo spostamento ai campi modificabili potrebbe cambiare durante l'esecuzione dell'operazione.
Il problema si manifesta a partire dal kernel Linux 5.18 ed è stato risolto nelle versioni 7.1, 7.0.13, 6.18.36 e 6.12.94. È stata dichiarata la possibilità di sfruttare il problema in RHEL 8/9/10, Debian 11/12, openSUSE Leap 15.6, SUSE Linux 15-SP7/16.0 e Ubuntu 18.04-25.10 (nella versione Ubuntu 26.4 la creazione di user namespace è bloccata di default). Come soluzione alternativa per la protezione, si consiglia di bloccare il caricamento del modulo del kernel act_pedit (le regole per la limitazione del traffico e la riscrittura degli header tramite «tc pedit» smetteranno di funzionare).
echo «blacklist act_pedit» > /etc/modprobe.d/blacklist-act-pedit.conf
rmmod act_pedit - DirtyClone (CVE-2026-43503, exploit) — soluzione alternativa per sfruttare la vulnerabilità Dirty Frag nel modulo xfrm-ESP, utilizzato per velocizzare le operazioni di crittografia in IPsec con il protocollo ESP (Encapsulating Security Payload). Per clonare la struttura skb nel nuovo exploit si utilizza la manipolazione con l'estensione TEE al netfilter (modulo xt_TEE), che esegue l'operazione di clonazione dei pacchetti di rete.
La vulnerabilità è stata risolta nelle versioni del kernel Linux 7.1, 7.0.10, 5.10.257, 5.15.208, 6.1.174, 6.6.141, 6.12.91 e 6.18.33. Il problema si manifesta in Debian, Ubuntu, Fedora,
RHEL e SUSE. Come soluzione alternativa per bloccare la vulnerabilità si possono disabilitare i moduli del kernel esp4 ed esp6.
Per sfruttare entrambe le vulnerabilità sono necessari i diritti di accesso CAP_NET_ADMIN, che un utente non privilegiato può ottenere creando spazi dei nomi degli identificatori utente (user namespace). In Ubuntu, tale operazione è disabilitata di default, ma può essere consentita tramite il sysctl «kernel.apparmor_restrict_unprivileged_userns=0» o profili AppArmor. Negli altri distribuzioni, la disponibilità del «user namespace» per gli utenti non privilegiati dipende dall'impostazione del sysctl «kernel.unprivileged_userns_clone» (se 0, è vietato).
Lo sfruttamento delle vulnerabilità si riduce alla lettura del file del programma /bin/su con il flag suid root, per farlo risiedere nella cache delle pagine e sostituire nella cache delle pagine parte del codice del programma con il codice per eseguire /bin/sh. L'esecuzione successiva del programma porterà a caricare in memoria non il file eseguibile originale dal dispositivo, ma una copia modificata dalla cache delle pagine.
Inoltre, si segnala la creazione di un exploit per la vulnerabilità CVE-2026-23111 nel sottosistema nf_tables, corretta negli aggiornamenti del kernel di febbraio. La vulnerabilità è causata da un accesso alla memoria dopo la sua liberazione (use-after-free) e consente a un utente non privilegiato di ottenere i diritti di root nel sistema. Per attaccare, l'utente deve avere la possibilità di creare spazi dei nomi degli identificatori utente (user namespace). Il funzionamento dell'exploit è stato dimostrato in
Debian 12/13 e Ubuntu 22.04/24.04.
Fonte: opennet.ru
