// 2 CRITICAL · 4 ZERO-DAY · 7 CVE · 4 EXPLOIT NELLE ULTIME 24H
CVE-2026-43499 esiste da 15 anni nel kernel Linux. Il proof-of-concept pubblico richiede solo un utente locale per ottenere root in circa cinque secondi con il 97%

Il 7 luglio 2026 il team di ricerca VEGA di Nebula Security ha pubblicato un exploit funzionante per CVE-2026-43499, una vulnerabilità use-after-free nel sottosistema rtmutex del kernel Linux presente da maggio 2011. Il proof-of-concept consente a qualsiasi utente locale di ottenere privilegi di root in circa cinque secondi con il 97% di affidabilità, e permette l'escape da container Docker e Kubernetes senza richiedere capability speciali. La combinazione con una vulnerabilità del browser Firefox ha già dimostrato una catena completa da remoto a root su Android.

Punti chiave
  • Il bug risiede nella funzione remove_waiter() del sottosistema priority-inheritance rtmutex: utilizza il puntatore current invece di waiter->task, lasciando un riferimento pendente a memoria dello stack kernel già liberata.
  • Il proof-of-concept pubblico raggiunge root in circa cinque secondi con il 97% di successo; il 3% restante produce kernel panic, secondo i test su ambiente kernelCTF riportati da TechTimes.
  • L'exploit esce da container senza capability privilegiate, invalidando il modello di isolamento su cui si fondano ambienti cloud-native, CI/CD runner e hosting condiviso.
  • Il programma kernelCTF di Google ha assegnato un bounty di 92.337 dollari alla scoperta, confermando la gravità tecnicamente dimostrata della vulnerabilità.

Il meccanismo: uno use-after-free nascosto per 15 anni nel percorso FUTEX

La vulnerabilità si attiva attraverso il percorso proxy FUTEX_CMP_REQUEUE_PI del sottosistema futex. Durante la pulizia del waiter nella funzione remove_waiter(), il codice opera sul puntatore current anziché su waiter->task. Il risultato è un riferimento pi_blocked_on pendente verso una regione dello stack kernel che viene successivamente liberata.

L'exploit reclama il frame dello stack liberato tramite la chiamata di sistema PR_SET_MM_MAP, pianta una struttura waiter contraffatta, e innesca una scrittura controllata sul puntatore a funzione inet6_protos. Da quel momento il ricercatore utilizza gadget ROP nell'area CPU entry e la tecnica DirtyMode per modificare i permessi di core_pattern, completando l'escalation di privilegi interamente da userspace. La configurazione CONFIG_FUTEX_PI, abilitata di default in ogni kernel delle distribuzioni principali, è l'unico prerequisito.

"The only hard requirement is CONFIG_FUTEX_PI, which is enabled by default in every major distribution kernel. There is no privilege, capability, or namespace requirement. An unprivileged shell — the kind any web app process runs as — is enough to trigger it." — Falcon Internet

Perché il punteggio CVSS 7.8 è fuorviante per le architetture moderne

Il record CVE-2026-43499 riporta un punteggio CVSS 3.1 di 7.8 su 10, classificato HIGH ma non CRITICAL. Il vettore AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H indica esplicitamente che l'attaccante deve già possedere accesso locale alla macchina. TechTimes nota che questo punteggio "riflette una cosa specifica: l'attaccante deve già avere accesso locale".

La classificazione tuttavia ignora la realtà delle catene di attacco contemporanee. Nebula Security ha dimostrato IonStack: una catena che collega la vulnerabilità di escape dalla sandbox IonMonkey di Firefox, CVE-2026-10702, a GhostLock per ottenere controllo completo di dispositivi Android con un singolo tocco su un link malevolo. In questa configurazione il prerequisito di accesso locale viene eliminato interamente. Firefox ha corretto CVE-2026-10702 nella versione 151.0.3 del 2 giugno 2026, ma la dimostrazione resta valida come prova di concetto per l'intera classe di rischio.

Il problema del punteggio CVSS non è tecnico ma semantico: il sistema misura un singolo passo di attacco, non la superficie di esposizione reale. Per ambienti multi-tenant, piattaforme CI/CD, runner GitHub Actions e workstation Linux, il confine tra "locale" e "remoto" si è dissolto da anni. Un processo compromesso attraverso qualsiasi applicazione sandboxata diventa immediatamente un vettore locale.

Il collasso dell'isolamento container e le versioni vulnerabili

L'exploit funziona da dentro un container con accesso standard al sottosistema futex, senza richiedere CAP_SYS_ADMIN, CAP_SYS_PTRACE o capability analoghe. Secondo TechTimes, l'escape "riesce dall'interno di un container senza richiedere alcuna capability speciale o privilegi elevati". Falcon Internet aggiunge che il funzionamento è garantito "da dentro un container che esegue un kernel standard con accesso completo ai futex".

Questa proprietà non è un'eccezione ma una conseguenza strutturale del design del kernel Linux, dove i namespace e i cgroup delegano la sicurezza fondamentale proprio al kernel. Quando il kernel stesso cede, tutti i meccanismi di isolamento costruiti sopra diventano decorativi.

Il National Vulnerability Database elenca versioni affette dalla 2.6.39 alla 7.0.4, con patch parziali nelle serie 6.1.175, 6.6.140, 6.12.86, 6.18.27 e 7.0.4. La commit di correzione upstream è 3bfdc63936dd, che modifica remove_waiter() per utilizzare correttamente waiter->task. Una correzione successiva, CVE-2026-53166, gestisce un caso limite di dereferenziazione del puntatore nullo introdotto dalla patch iniziale.

Cosa fare adesso

La situazione di patching varia significativamente tra distribuzioni. AlmaLinux ha rilasciato kernel corretti: kernel-4.18.0-553.141.2.el8_10, kernel-5.14.0-687.23.2.el9_8, e kernel-6.12.0-211.31.2.el10_2. Red Hat Enterprise Linux ha confermato versioni 6 attraverso 10 come affette, con patch in preparazione secondo il bollettino RHSB-2026-010. Ubuntu 24.04 LTS, 22.04 LTS e 20.04 LTS risultavano ancora vulnerabili o in corso di aggiornamento al 8 luglio 2026; release più recenti e kernel cloud-optimized erano già corretti. KernelCare offre livepatch per CloudLinux 7/8/9/10 senza richiedere riavvio.

Falcon Internet documenta una mitigazione temporanea attraverso profilo seccomp che blocca le chiamate FUTEX_LOCK_PI, FUTEX_WAIT_REQUEUE_PI e FUTEX_CMP_REQUEUE_PI. Questa misura interrompe tuttavia le applicazioni che utilizzano mutex priority-inheritance. Le opzioni di compilazione RANDOMIZE_KSTACK_OFFSET e STATIC_USERMODE_HELPER elevano la complessità dell'exploitazione senza risolvere il difetto sottostante.

Non emergono sovrapposizioni infrastrutturali che colleghino l'attività osservata a campagne di sfruttamento attivo nello stato attuale delle fonti. Tuttavia la disponibilità pubblica del proof-of-concept, combinata con l'affidabilità del 97% e l'assenza di prerequisiti configurativi, rende la vulnerabilità prontamente weaponizzabile.

Il segnale VEGA: l'intelligenza artificiale nel ciclo di scoperta

GhostLock è stato identificato utilizzando VEGA, strumento di analisi statica basato su intelligenza artificiale sviluppato da Nebula Security. La vulnerabilità è sopravvissuta a quindici anni di revisione umana del codice kernel, incluse iniziative di hardening e audit di sicurezza dedicati. La scoperta tramite strumento automatizzato suggerisce un accelerazione nella capacità di rilevamento di difetti strutturali in codebase legacy di dimensioni e complessità analoghe al kernel Linux, attualmente circa 30 milioni di righe di codice.

Il pattern di scoperta AI-assisted non implica che strumenti analoghi non fossero disponibili in precedenza, ma la specificità del caso — un bug di logica nel passaggio di puntatori a task in un percorso d'esecuzione raro — indica che i metodi di analisi statica moderni hanno raggiunto una soglia di utilità pratica per classi di vulnerabilità precedentemente resistenti a rilevamento automatico.

Fonti

Le informazioni sono state verificate sulle fonti citate e aggiornate al momento della pubblicazione.

Fonti


Fonti e riferimenti
  1. techtimes.com
  2. falconinternet.net
  3. thehackernews.com
  4. latesthackingnews.com
  5. theregister.com
  6. nvd.nist.gov
  7. cisa.gov
  8. security.googleblog.com