CISA ha inserito il 1° maggio 2026 nel catalogo Known Exploited Vulnerabilities CVE-2026-31431, una falla nel kernel Linux che permette privilege escalation a root con un exploit di circa 732 byte. La scadenza per la mitigazione obbligatoria, imposta dal BOD 22-01, è il 15 maggio 2026. La vulnerabilità, soprannominata "Copy Fail", origina da un'ottimizzazione del 2017 nel sottosistema crittografico del kernel e mette in crisi l'isolamento dei container in ambienti cloud e Kubernetes.
- CERT-EU ha pubblicato l'advisory 2026-005 il 29 aprile 2026: la falla risiede nel modulo
algif_aeaddel kernel Linux, introdotto con commit72548b093ee3nel 2017 - L'exploit deterministico di circa 732 byte, confermato da Microsoft Security Research, non richiede race condition né privilegi speciali: scrive 4 byte controllati nella page cache di file setuid in RAM
- Il CVSS 3.1 è 7.8 (HIGH) con vettore CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H, secondo il record CVE ufficiale di kernel.org su NVD
- Microsoft e CERT-EU confermano il rischio di container escape: la page cache è condivisa tra host e container, consentendo escalation cross-container senza modifica dei file su disco
Il meccanismo: quando l'ottimizzazione diventa arma
Il problema nasce nel modulo algif_aead, parte del sottosistema crittografico del kernel che espone algoritmi di cifratura autenticata tramite socket AF_ALG. Nel 2017, il commit 72548b093ee3 introdusse un'ottimizzazione in-place per ridurre le copie di memoria nelle operazioni di crittografia: invece di allocare buffer separati per dati e tag di autenticazione, il codice riutilizza le stesse pagine di memoria.
Secondo l'analisi di CERT-EU, questa ottimizzazione si combina pericolosamente con la syscall splice(), progettata per spostare dati tra file descriptor senza copiarli in userspace. Un utente non privilegiato può creare un socket AF_ALG, configurarlo per operazioni AEAD, e usare splice() per trasferire dati in modo che il kernel scriva 4 byte arbitrari in una pagina della page cache associata a un file leggibile.
Il bersaglio naturale è un eseguibile setuid come /usr/bin/su: corrompendone la rappresentazione in RAM, l'attacco ottiene una shell root senza mai toccare il contenuto su disco. Questo elude i controlli di integrità basati su hash del filesystem.
"By chaining an AF_ALG socket operation with splice(), an unprivileged local user can perform a controlled 4-byte write to an arbitrary page-cache-backed page, targeting a setuid binary such as /usr/bin/su to obtain a root shell" — CERT-EU advisory 2026-005
La scoperta e il fix: nove anni di latenza
Il commit di fix upstream a664bf3d603d, datato 1° aprile 2026, non corregge la logica: la reverte completamente, abbandonando l'ottimizzazione del 2017. Il ricercatore originale, citato come "Xint" da CloudLinux e genericamente come "researcher" da CERT-EU, ha dimostrato che il vettore è deterministico e riproducibile su distribuzioni diverse.
Microsoft Security Research ha verificato che l'exploit "non dipende da race condition" e può essere implementato in "uno script molto piccolo (~732 byte) che funziona su più distribuzioni". La società ha documentato rilevamenti tramite Microsoft Defender XDR nel proprio ecosistema di prodotti.
IlSoftware.it riporta che CISA ha segnalato "attività di sfruttamento reale" nel motivare l'inclusione nel catalogo KEV. Il brief redazionale non chiarisce tuttavia se si tratti di attacchi confermati in produzione o di PoC pubblicati e dimostrati attivi: la formulazione di CISA potrebbe rappresentare una segnalazione preventiva piuttosto che conferma di exploitation verificata nel campo.
L'impatto su container e cloud multi-tenant
La dimensione critica di CVE-2026-31431 è il contesto containerizzato. In infrastrutture Docker, LXC e Kubernetes, i container condividono il kernel con l'host e tra loro. La page cache è uno dei meccanismi di memoria condivisi: quando un container legge un file già caricato dall'host, il kernel riutilizza le stesse pagine fisiche.
Microsoft descrive esplicitamente questo scenario: "Because the page cache is shared across containers and the host, the vulnerability also enables cross-container impacts and container escape scenarios". Un container compromesso con accesso utente non privilegiato può corrompere la page cache di un eseguibile setuid dell'host, ottenendo root sull'intero nodo senza uscire dal proprio namespace.
Questo profilo minaccia direttamente ambienti multi-tenant: cluster Kubernetes con workload non fidati, runner CI/CD condivisi, piattaforme di sviluppo cloud, e servizi di hosting containerizzato. L'assenza di privilegi speciali all'interno del container rende impraticabile la mitigazione basata su policy di sicurezza interne.
Stato delle patch e disponibilità al 30 aprile 2026
La tabella di disponibilità patch di CERT-EU al 30 aprile 2026 mostrava uno scenario frammentato. CloudLinux aveva già rilasciato patch kernel e livepatch KernelCare per le versioni CL7h, CL8, CL9 e CL10. Ubuntu 26.04 e successive erano esplicitamente non affette. Per Red Hat e altre distribuzioni maggiori, lo status era marcato "unknown" o pending.
Il dossier non specifica lo stato attuale (maggio-giugno 2026) delle patch per distribuzioni non-CloudLinux, lasciando un'area di incertezza operativa per gli amministratori che gestiscono sistemi con cicli di aggiornamento più conservativi.
Cosa fare adesso
Gli advisory convergenti indicano quattro linee d'azione prioritarie:
- Aggiornare il kernel alle versioni che includono il commit
a664bf3d603d, verificando la disponibilità presso il proprio vendor di distribuzione - Applicare livepatch dove disponibili: CloudLinux ha già distribuito KernelCare per le versioni supportate
- Disabilitare il modulo
algif_aeadcome mitigazione temporanea sui sistemi dove la patch non è ancora disponibile - Bloccare AF_ALG via seccomp nei profili container per ridurre la superficie di attacco, riconoscendo che questa misura non elimina completamente il rischio host-level
La scadenza CISA del 15 maggio 2026 impone azione rapida per le agenzie federali USA coperte dal BOD 22-01. Le organizzazioni private dovrebbero calibrare la priorità in base all'esposizione container e al profilo di minaccia del proprio ambiente.
Perché questo caso è diverso
CVE-2026-31431 non è una falla di configurazione o un bug di implementazione marginale. È una vulnerabilità architetturale: un'ottimizzazione di memoria legittima del 2017 che, combinata con una syscall esistente, genera un effetto collaterale catastrofico. La sua natura deterministica — nessuna race condition, nessun brute force, 732 byte di codice — elimina le barriere tradizionali all'exploitation.
La durata della finestra di esposizione, dal 2017 al 1° aprile 2026, solleva questioni sulle pratiche di review del codice kernel per ottimizzazioni che alterano il modello di sicurezza della memoria. Il fatto che il fix sia una semplice revert, non una correzione chirurgica, suggerisce che l'ottimizzazione stessa sia intrinsecamente incompatibile con le garanzie di isolamento che il kernel deve fornire.
Per gli operatori di sicurezza, la lezione è misurabile: nove anni di latenza, un exploit di meno di un kilobyte, e un catalogo KEV che impone due settimane di margine operativo. La combinazione di semplicità tecnica, impatto container e urgenza normativa rende questo caso un riferimento per la valutazione del rischio kernel nei prossimi cicli di pianificazione.
Le informazioni sono state verificate sulle fonti citate e aggiornate al momento della pubblicazione.
Fonti
- https://cert.europa.eu/publications/security-advisories/2026-005/
- https://www.microsoft.com/en-us/security/blog/2026/05/01/cve-2026-31431-copy-fail-vulnerability-enables-linux-root-privilege-escalation/
- https://nvd.nist.gov/vuln/detail/CVE-2026-31431
- https://www.ilsoftware.it/vulnerabilita-linux-copy-fail-cve-2026-31431/
- https://blog.cloudlinux.com/cve-2026-31431-copy-fail-kernel-update
- https://nvd.nist.gov/vuln
- https://nvd.nist.gov/vuln/search
- https://nvd.nist.gov/vuln/categories
- https://nvd.nist.gov/vuln/data-feeds
- https://nvd.nist.gov/vuln/vendor-comments