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

Informazioni sulla vulnerabilità (CVE-2026-43499) nel kernel Linux, codice in codice GhostLock, che consente a un utente locale non privilegiato di ottenere diritti root nel sistema e di uscire dai container isolati. Se utilizzata insieme ad altre vulnerabilità nei browser, il problema identificato può essere sfruttato per eseguire codice da remoto con diritti root aprendo una pagina web appositamente formattata. 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 il successo nel sollevare privilegi in un ambiente con il kernel KernelCTF (Capture the Flag), che include patch aggiuntive per bloccare i metodi comuni utilizzati dagli exploit. Il tasso di successo dell'exploit è stimato al 97%. La vulnerabilità è stata identificata utilizzando lo strumento AI VEGA.

Il patch con la correzione è stato integrato nel codice sorgente del kernel il 21 aprile ed è stato incluso nelle versioni del kernel 7.1.0, 6.18.36, 6.12.95, 6.6.144 e 6.1.177. È possibile valutare lo stato della correzione delle vulnerabilità nelle distribuzioni alle seguenti pagine: Debian, Ubuntu, SUSE/openSUSE, RHEL, AlmaLinux, Gentoo, Arch, Fedora. Non sono disponibili workaround per il blocco del problema.

La vulnerabilità è presente nell'implementazione dei blocchi futex ed è causata da un accesso alla memoria dopo la sua liberazione, che si verifica 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 per la liberazione di una risorsa occupata da un'attività a bassa priorità). Nella situazione in cui l'impostazione del blocco si conclude con un errore, il kernel ripristina lo stato e chiama la funzione di pulizia. In determinate circostanze, la funzione di pulizia viene chiamata non al momento opportuno e libera la struttura dati di un'altra attività, dopo di che rimane un puntatore sospeso (dangling pointer) che punta a una memoria già liberata.

Sfruttare una vulnerabilità significa creare condizioni che generano un puntatore sospeso, utilizzando solo le chiamate di sistema accessibili all'utente per lavorare con i thread, implementare un primitivo per la scrittura usando il puntatore sospeso in un'area arbitraria della memoria del kernel e applicare questo primitivo per sostituire il passaggio nella tabella delle funzioni del kernel per intercettare il flusso di controllo.

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

Oltre al problema discusso, sono state individuate altre pericolose vulnerabilità nel kernel di Linux:

  • Januscape (CVE-2026-53359) — accesso alla memoria dopo la sua liberazione (use-after-free) nei componenti del hypervisor KVM, eseguite 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 l'accesso con privilegi di root all'ambiente host se si dispone dell'accesso come root nel sistema guest.

    È disponibile un prototipo dell'exploit che corrompe il contenuto della struttura dati sul lato del sistema host, utilizzata durante la traduzione degli indirizzi. L'exploit pubblicato causa un arresto anomalo del sistema host, ma secondo quanto dichiarato dal ricercatore che ha scoperto il problema, è stata anche creata una versione dell'exploit per l'esecuzione di codice nell'ambiente host con privilegi di root, ma non viene attualmente pubblicata per dare tempo all'installazione degli 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à nelle distribuzioni può essere valutato su queste pagine: Debian, Ubuntu, SUSE/openSUSE, RHEL, Gentoo, Arch, Fedora. Il ricercatore ha ricevuto da Google un premio di 250.000 dollari nell'ambito dell'iniziativa kvmCTF per la scoperta della vulnerabilità.

    Per uscire dalla modalità ospite su server sono stati identificati processori ARM64 con un'altra vulnerabilità ITScape (CVE-2026-46316), causata da una condizione di gara nel codice di emulazione del vGIC-ITS (Interrupt Translation Service) in KVM. Un prototipo di exploit è stato pubblicato anche 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 diritti di root. È notevole perché consente di attaccare non solo le distribuzioni classiche di Linux, ma anche i firmware basati sulla piattaforma Android, e non è bloccata dall'isolamento sandbox in Chrome. Un exploit funzionante è stato dimostrato durante la competizione kernelCTF (Google ha pagato $71337 all'autore). L'affidabilità dell'exploit è stata valutata al 99%.

    Il problema si manifesta a partire dal kernel Linux 6.4 (2023). Gli sviluppatori del kernel sono stati informati del problema il 17 febbraio, ma la correzione è stata sviluppata solo dopo diversi tentativi falliti, il 24 aprile. 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 consultato alle seguenti pagine: Debian, Ubuntu, SUSE/openSUSE, RHEL, Gentoo, Arch, Fedora.

  • CVE-2026-46215 — accesso alla memoria dopo il suo rilascio nell'implementazione di ioctl DRM_IOCTL_GEM_CHANGE_HANDLE nel sottosistema DRM (Direct Rendering Manager). Un utente locale, con accesso ai dispositivi /dev/dri/renderD* (il servizio systemd-logind fornisce accesso a tutti gli utenti all'avvio di una sessione grafica in tutte le principali distribuzioni), può ottenere diritti di root sul sistema. Esiste 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 consultato alle seguenti pagine: Debian, Ubuntu, SUSE/openSUSE, RHEL, Gentoo, Arch, Fedora.

Fonte: opennet.ru

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