GhostLock, BadEpoll e Januscape — vulnerabilità nel kernel di Linux che consentono di ottenere diritti di root e bypassare l'isolamento KVM

Sono emerse informazioni su una vulnerabilità (CVE-2026-43499) nel kernel di Linux, soprannominata GhostLock, che consente a un utente locale non privilegiato di ottenere diritti di root nel sistema, nonché di uscire da contenitori isolati. Se utilizzata in combinazione con altre vulnerabilità nei browser, il problema identificato può essere impiegato per l'esecuzione remota di codice con diritti di root aprendo una pagina web appositamente progettata. Il problema si manifesta a partire dal kernel Linux 2.6.39 (2011).

Si afferma che la vulnerabilità possa essere sfruttata in tutte le distribuzioni rilasciate negli ultimi 15 anni. Esiste un exploit funzionante, i cui creatori hanno ricevuto da Google un premio di $92337 per un aumento dei privilegi riuscito in un ambiente con kernel KernelCTF (Capture the Flag), che include patch aggiuntive per bloccare i metodi tipici di funzionamento degli exploit. Il tasso di successo dell'exploit è valutato al 97%. La vulnerabilità è stata identificata con l'aiuto dello strumento AI VEGA.

La patch correttiva è stata accettata nella base di codice del kernel il 21 aprile ed è stata inclusa nelle versioni del kernel 7.1.0, 6.18.36, 6.12.95, 6.6.144 e 6.1.177. Lo stato di risoluzione delle vulnerabilità nelle distribuzioni può essere valutato sulle seguenti pagine: Debian, Ubuntu, SUSE/openSUSE, RHEL, AlmaLinux, Gentoo, Arch, Fedora. Non esistono soluzioni alternative per bloccare il problema.

La vulnerabilità è presente nell'implementazione dei blocchi futex ed è causata da accessi alla memoria dopo la sua liberazione, che si verificano durante il funzionamento del meccanismo di eredità delle priorità, che impedisce l'inversione delle priorità (blocco di un'attività ad alta priorità a causa dell'attesa della liberazione di una risorsa occupata da un'attività a bassa priorità). In situazioni in cui l'impostazione del blocco termina con un errore, il kernel ripristina lo stato e chiama la funzione di pulizia. In determinate circostanze, la funzione di pulizia viene chiamata non nel momento corretto e libera la struttura dati di un'altra attività, generando così un puntatore dangling che punta a una memoria già liberata.

L'exploitation della vulnerabilità si riduce alla creazione delle condizioni per l'emergere di un puntatore pendente, utilizzando solo le chiamate di sistema disponibili all'utente per lavorare con i thread, implementando un primitivo per la scrittura attraverso il puntatore pendente in un'area di memoria arbitraria del kernel e applicando questo primitivo per sostituire il salto nella tabella delle funzioni del kernel per catturare il flusso di controllo.

Nell'exploit proposto si effettua la riscrittura del puntatore nella tabella delle funzioni inet6_protos[IPPROTO_UDP], dopo di che un pacchetto UDP viene inviato all'interfaccia loopback tramite IPv6, durante l'elaborazione del quale viene chiamato il gestore, il cui puntatore è stato sostituito nella fase precedente. Per ottenere i diritti di accesso come root, il codice dell'exploit che ha preso il controllo scrive nel /proc/sys/kernel/core_pattern il proprio gestore, che viene invocato con i diritti di root in caso di arresto dei processi.

Oltre al problema esaminato, nel kernel Linux sono state identificate altre pericolose vulnerabilità:

  • Januscape (CVE-2026-53359) — accesso alla memoria dopo la sua liberazione (use-after-free) nei componenti del hypervisor KVM, eseguiti sul lato della macchina virtuale per emulare il blocco di gestione della memoria (MMU) e la traduzione degli indirizzi tra l'host e il sistema guest. La vulnerabilità si manifesta su sistemi con processori Intel e AMD e consente di ottenere accesso con diritti di root all'ambiente host se si ha accesso con diritti di root nel sistema guest.

    È disponibile un prototipo dell'exploit, che danneggia il contenuto della struttura dati sul lato del sistema host, utilizzata durante la traduzione degli indirizzi. L'exploit pubblicato porta al crash del sistema host, ma secondo quanto affermato dal ricercatore che ha segnalato il problema, egli ha anche creato un exploit per eseguire codice sul lato dell'ambiente host con diritti di root, ma non lo pubblica ancora per dare tempo di installare gli aggiornamenti.

    Il problema è causato da un errore commesso 16 anni fa ed è stato risolto negli aggiornamenti 7.1.3, 6.18.38, 6.12.95, 6.6.144 e 6.1.177. Lo stato della risoluzione delle vulnerabilità nei vari distribuzioni può essere valutato su queste pagine: Debian, Ubuntu, SUSE/openSUSE, RHEL, Gentoo, Arch, Fedora. Il ricercatore ha ricevuto da Google una ricompensa di 250.000 dollari nell'ambito dell'iniziativa kvmCTF per aver identificato la vulnerabilità.

    Per uscire dal sistema guest su server Un'altra vulnerabilità ITScape (CVE-2026-46316) è stata identificata dallo stesso ricercatore su processori ARM64, causata da una condizione di gara nel codice di emulazione vGIC-ITS (Interrupt Translation Service) in KVM. È stato pubblicato anche un prototipo di exploit per questo problema.

  • Bad Epoll (CVE-2026-46242) è una condizione di gara che porta a un accesso alla memoria dopo la sua liberazione nel sottosistema del kernel epoll. Questa vulnerabilità consente a un utente locale non privilegiato di eseguire codice con i diritti di root. Il problema è notevole perché consente attacchi non solo a distribuzioni Linux classiche, ma anche a firmware basati su Android e non è bloccato dall'isolamento sandbox in Chrome. Un exploit funzionante è stato dimostrato alla competizione kernelCTF (Google ha pagato all'autore $71337). L'affidabilità dell'exploit è stata valutata al 99%.

    Il problema si manifesta a partire dal kernel Linux 6.4 (2023). È stato segnalato agli sviluppatori del kernel il 17 febbraio, ma la correzione è stata sviluppata solo il 24 aprile dopo diverse tentativi falliti. Il problema è stato risolto nei kernel 6.18.24, 6.12.83, 6.6.136. Lo stato della risoluzione delle vulnerabilità nelle distribuzioni può essere valutato sulle seguenti pagine: Debian, Ubuntu, SUSE/openSUSE, RHEL, Gentoo, Arch, Fedora.

  • CVE-2026-46215 è un accesso alla memoria dopo la sua liberazione nell'implementazione ioctl DRM_IOCTL_GEM_CHANGE_HANDLE nel sottosistema DRM (Direct Rendering Manager). Un utente locale, che ha accesso ai dispositivi /dev/dri/renderD* (il servizio systemd-logind offre accesso a tutti gli utenti all'avvio di una sessione grafica in tutte le principali distribuzioni), può ottenere diritti di root nel sistema. È disponibile un exploit. Il problema si manifesta a partire dal kernel 6.18 ed è stato risolto negli aggiornamenti 7.0.9 e 6.18.32. Lo stato della risoluzione delle vulnerabilità nelle distribuzioni può essere valutato sulle seguenti pagine: Debian, Ubuntu, SUSE/openSUSE, RHEL, Gentoo, Arch, Fedora.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster