Sicurezza informatica

come una guardia copy-on-write mancante ha infranto il modello di sicurezza del kernel linux

DirtyDecrypt (CVE-2026-31635) è una vulnerabilità del kernel Linux che causa l'escalation dei privilegi locali tramite la pagecache rxgk e la mancanza di guardie COW.
come una guardia copy-on-write mancante ha infranto il modello di sicurezza del kernel linux

Una strategia di difesa da milioni di dollari di solito si basa sul presupposto che il kernel del sistema operativo principale sia un caveau statico e impenetrabile. Passiamo anni a perfezionare le regole del firewall, i provider di identità e gli script di rilevamento degli endpoint, eppure la base architettonica rimane spesso il componente più fragile. Linux utilizza un'ottimizzazione chiamata copy-on-write per gestire l'efficienza della memoria. Questo sistema garantisce che più processi condividano la stessa memoria fisica finché uno di essi non ha bisogno di modificarla. A quel punto, il kernel dovrebbe creare una copia privata per evitare che la modifica influenzi altri utenti. Nel caso di CVE-2026-31635, questa promessa fondamentale è venuta meno.

Ho trascorso le ultime 48 ore a esaminare il codice proof-of-concept rilasciato per DirtyDecrypt, noto anche come DirtyCBC. La vulnerabilità è un esempio da manuale di paradosso architettonico. Il meccanismo stesso progettato per rendere il kernel Linux veloce ed efficiente in termini di memoria è il meccanismo che ha permesso a un utente non privilegiato di sovrascrivere file di proprietà di root. Questa è la terza variante principale di questa specifica logica di corruzione della memoria che abbiamo visto in altrettanti mesi. Mi ricorda una nave costruita con uno scafo impenetrabile dall'esterno ma che si dissolve quando tocca il proprio carburante interno.

la meccanica della vulnerabilità rxgk pagecache

Il difetto risiede all'interno della funzione rxgk_decrypt_skb. Questo codice gestisce la decrittazione dei buffer socket in entrata sul lato ricezione dello stack di rete. Quando il kernel elabora questi buffer, gestisce pagine di memoria che a volte sono condivise con la page cache di altri processi. In condizioni normali, il kernel Linux attiva un'operazione di copy-on-write prima che avvenga qualsiasi scrittura su una pagina condivisa. Ciò impedisce ai dati di un processo di confluire nello spazio di memoria di un altro.

I ricercatori di Zellic hanno scoperto che rxgk_decrypt_skb mancava di questa guardia COW. Quando il kernel decritta i dati in un buffer che risulta essere una pagina condivisa, scrive i contenuti decrittati direttamente nella memoria fisica senza creare prima una copia privata. Ciò bypassa i permessi standard del file system e le protezioni della memoria. Un utente malintenzionato può mappare un file sensibile come /etc/shadow o un binario SUID nel proprio spazio di memoria e quindi utilizzare il percorso di rete vulnerabile per forzare il kernel a scrivere dati nella page cache di quel file. Una volta che il kernel scarica la page cache su disco, la modifica diventa permanente.

tracciare la discendenza da copy fail a dirtydecrypt

DirtyDecrypt non è un incidente isolato. È il discendente di una famiglia di vulnerabilità iniziata con Copy Fail (CVE-2026-31431) nell'aprile 2026. I ricercatori di Theori hanno identificato per primi che l'interfaccia socket crittografica nel kernel presentava falle logiche simili. Una settimana dopo, è emerso Dirty Frag. Questo è stato seguito da Fragnesia, che ha preso di mira il sottosistema XFRM. Ognuna di queste vulnerabilità condivide la stessa causa principale: l'impossibilità di verificare la proprietà della pagina prima di eseguire scritture a livello di kernel.

Questa sequenza di divulgazioni evidenzia un problema sistemico nel modo in cui il kernel Linux gestisce le moderne ottimizzazioni della memoria di rete. L'introduzione di MSG_SPLICE_PAGES e altri meccanismi zero-copy ad alte prestazioni ha introdotto una complessità che l'attuale infrastruttura COW fatica a regolare. Il ricercatore noto come 0xdeadbeefnetwork ha osservato che una volta che una correzione per una variante approda nell'albero pubblico, rendere utilizzabile la variante successiva è un esercizio standard per i professionisti della sicurezza. Questo rapido ciclo di sviluppo n-day ci ricorda che una patch in un sottosistema non garantisce la sicurezza di un altro che utilizza una logica simile.

perché specifiche distribuzioni rimangono sulla linea di tiro

L'impatto di CVE-2026-31635 dipende fortemente dalla configurazione del kernel. La vulnerabilità richiede che l'opzione CONFIG_RXGK sia abilitata. Questo è il motivo per cui distribuzioni come Fedora, Arch Linux e openSUSE Tumbleweed sono a maggior rischio. Queste distribuzioni spesso favoriscono funzionalità all'avanguardia e un supporto hardware più ampio, il che include l'abilitazione di moduli di rete e crittografici specializzati che sono disabilitati nelle versioni enterprise più conservative come RHEL o Debian Stable.

In ambienti cloud, questa vulnerabilità rappresenta un rischio significativo per l'isolamento dei container. Se un nodo worker esegue un kernel vulnerabile, un container compromesso può utilizzare la primitiva DirtyDecrypt per fuggire dal suo ambiente locale. Sovrascrivendo la page cache per i binari condivisi o le strutture del kernel, l'attaccante può passare da un pod limitato al pieno accesso root sull'host. Ciò fa crollare efficacemente il modello di sicurezza multi-tenant su cui Kubernetes e altri orchestratori fanno affidamento per l'isolamento del carico di lavoro.

il dibattito sul killswitch e il futuro del patching del kernel

Il volume delle divulgazioni sul kernel ha costretto a ripensare il modo in cui gestiamo la sicurezza di Linux. Sasha Levin, un noto manutentore del kernel, ha recentemente proposto un killswitch del kernel. Questo strumento consente a un amministratore di disabilitare una specifica funzione del kernel in fase di esecuzione senza riavviare. Se viene scoperta una vulnerabilità zero-day come DirtyDecrypt in una specifica funzione di rete, l'amministratore può dire al kernel di smettere di eseguire quella funzione e restituire invece un valore fisso. Questo funge da valvola di intercettazione di emergenza per lo scafo della nave mentre viene preparata una patch permanente.

Alcuni sviluppatori si preoccupano delle implicazioni di sicurezza del killswitch stesso. Se un utente malintenzionato ottiene privilegi sufficienti per attivare il killswitch, potrebbe teoricamente disabilitare i moduli di sicurezza o le funzioni di auditing. Tuttavia, l'attuale realtà dell'ecosistema Linux è che il patching è troppo lento per la velocità del moderno sviluppo di exploit. Il killswitch fornisce una misura reattiva per le organizzazioni che non possono attendere un test di regressione completo di una nuova versione del kernel. È una risposta pragmatica al fatto che il nostro software è sempre più complesso per essere privo di bug.

rocky linux e il passaggio verso correzioni di sicurezza accelerate

Rocky Linux ha adottato un approccio diverso introducendo un repository di sicurezza dedicato. Tradizionalmente, le distribuzioni a valle attendono che i fornitori a monte rilascino una patch verificata prima di inviare aggiornamenti ai propri utenti. Ciò crea una finestra di vulnerabilità quando un PoC è pubblico ma l'aggiornamento ufficiale è bloccato in un ciclo di QA. Il nuovo repository di sicurezza di Rocky Linux è una funzionalità opzionale che invia correzioni urgenti non appena sono disponibili, anche se non hanno ancora raggiunto il kernel principale.

Questa mossa è controversa perché rompe la stretta compatibilità con l'upstream. Se il team di Rocky Linux corregge un bug e i manutentori a monte scelgono successivamente una correzione diversa, i due kernel divergeranno. I manutentori riconoscono questo rischio ma ritengono che la protezione dei propri utenti sia più importante del perfetto allineamento delle versioni. Ciò riflette un cambiamento più ampio nel settore verso la priorità dell'agilità a fronte di uno sfruttamento attivo. Per gli amministratori, significa scegliere tra la stabilità del ciclo di rilascio tradizionale e la resilienza di una strategia di patching più aggressiva.

mitigazione del rischio in ambienti containerizzati e bare-metal

La difesa contro CVE-2026-31635 richiede qualcosa di più di un semplice aggiornamento standard. Le organizzazioni devono prima verificare se i loro sistemi sono vulnerabili. Controllare la configurazione del kernel per CONFIG_RXGK è il primo passo. Se il modulo è abilitato ma non richiesto per il carico di lavoro, disabilitarlo tramite una denylist dei moduli del kernel è la mitigazione immediata più efficace. Ciò rimuove interamente la superficie di attacco senza la necessità di un riavvio in alcuni casi.

Dal punto di vista del rischio, dovresti presumere che gli utenti locali abbiano la capacità di eseguire questo PoC se hanno accesso alla shell. Ciò rende essenziale il monitoraggio rigoroso della directory /etc/ e dei binari SUID. I moderni strumenti di sicurezza che monitorano l'integrità della page cache possono avvisarti se un processo tenta di modificare file di sola lettura attraverso percorsi di memoria non convenzionali. Il patching rimane il gold standard, ma finché la tua flotta non viene aggiornata, profili Seccomp restrittivi e policy AppArmor possono limitare la capacità dei processi locali di interagire con le funzioni di rete vulnerabili.

Controlla la configurazione del kernel e verifica se la tua distribuzione ha rilasciato una correzione per CVE-2026-31635. Le organizzazioni che eseguono Arch o Fedora dovrebbero dare priorità a questi aggiornamenti immediatamente. Se gestisci una vasta flotta di server Linux, considera le implicazioni a lungo termine dell'utilizzo di kernel con ampi set di funzionalità e valuta se una configurazione del kernel più robusta e minimale sia appropriata per la tua postura di sicurezza.

Fonti

  • NIST National Vulnerability Database (NVD) CVE-2026-31635 Record
  • Linux Kernel Mailing List (LKML) Killswitch Proposal by Sasha Levin
  • Zellic and V12 Security Technical Report on DirtyDecrypt
  • Rocky Linux Security Repository Documentation
  • MITRE ATT&CK Framework: Exploitation for Privilege Escalation (T1068)

Dichiarazione di non responsabilità: questo articolo è solo a scopo informativo e didattico. Non sostituisce un audit di sicurezza informatica professionale o un servizio di risposta agli incidenti. I dettagli tecnici forniti hanno lo scopo di aiutare gli amministratori a comprendere i rischi e implementare le difese necessarie.

bg
bg
bg

Ci vediamo dall'altra parte.

La nostra soluzione di archiviazione e-mail crittografata end-to-end fornisce i mezzi più potenti per lo scambio sicuro dei dati, garantendo la sicurezza e la privacy dei tuoi dati.

/ Creare un account gratuito