
# Playbook IR difensivo e pacchetto di rilevamento per CVE-2026-31431 (Copy Fail) LPE del kernel Linux, incluse query di caccia per Sigma, auditd, Falco, Wazuh, YARA, eBPF e SIEM.
Playbook IR pronto per la produzione, regole di rilevamento e guida al triage SOC per CVE-2026-31431 — un'escalation di privilegi locale nel kernel Linux nell'interfaccia crittografica algif_aead. Include un playbook HTML interattivo, regole Sigma, configurazioni auditd, regole Falco per container, regole di correlazione Wazuh, firme YARA, monitor eBPF in tempo reale e query di caccia SIEM su Splunk, Sentinel KQL, Elastic EQL e QRadar AQL.
Nessun codice di exploit — contenuto puramente difensivo per analisti SOC e ingegneri del rilevamento.
Autore: Ashok Reddy
La blacklist modprobe ampiamente raccomandata non funziona su RHEL, CentOS, AlmaLinux, Rocky Linux o CloudLinux. Il modulo algif_aead è compilato direttamente nel kernel (CONFIG_CRYPTO_USER_API_AEAD=y). I comandi vengono eseguiti senza errori ma lasciano il sistema completamente non protetto.
Mitigazione corretta per la famiglia RHEL:
grubby --update-kernel=ALL --args="initcall_blacklist=algif_aead_init"
reboot
# Verifica:
cat /proc/cmdline | grep initcall_blacklist
Vedi mitigate/ per script specifici per piattaforma.
├── README.md # Questo file
├── LICENSE # Licenza MIT
├── playbook/
│ ├── index.html # Playbook IR interattivo (13 schede)
│ └── triage_playbook.md # Guida al triage per analisti SOC
├── sigma/
│ ├── afalg_socket_creation.yml # Socket AF_ALG da non-root
│ ├── afalg_bind_aead_string.yml # Stringa algoritmo authencsn
│ └── afalg_splice_chain.yml # Regola catena comportamentale
├── auditd/
│ └── cve-2026-31431.rules # Set completo di regole auditd
├── falco/
│ └── afalg_container.yml # Rilevamento AF_ALG nei container
├── wazuh/
│ └── cve-2026-31431.xml # Regole di correlazione Wazuh
├── yara/
│ └── copyfail_artifacts.yar # Rilevamento artefatti file PoC
├── ebpf/
│ └── copyfail_monitor.bt # Monitor bpftrace in tempo reale
├── queries/
│ ├── splunk.spl # Query di caccia Splunk SPL
│ ├── defender_sentinel.kql # Query Sentinel/MDE KQL
│ ├── elastic.eql # Sequenze Elastic EQL
│ └── qradar.aql # Query QRadar AQL
├── mitigate/
│ ├── mitigate_debian.sh # Mitigazione Debian/Ubuntu
│ └── mitigate_rhel.sh # Famiglia RHEL (metodo grubby)
└── check/
└── is_vulnerable.sh # Verifica vulnerabilità sicura
Il playbook/index.html è un playbook interattivo completo con 13 schede:
Live: https://ashok523.github.io/cve-2026-31431/
# 1. Verifica se sei vulnerabile
sudo bash check/is_vulnerable.sh
# 2. Applica la mitigazione
sudo bash mitigate/mitigate_rhel.sh # Famiglia RHEL
sudo bash mitigate/mitigate_debian.sh # Debian/Ubuntu
# 3. Distribuisci le regole auditd
sudo cp auditd/cve-2026-31431.rules /etc/audit/rules.d/
sudo augenrules --load
# 4. Distribuisci le regole Wazuh
sudo cp wazuh/cve-2026-31431.xml /var/ossec/etc/rules/local_rules.xml
sudo systemctl restart wazuh-manager
# 5. Distribuisci la regola Falco (Kubernetes)
sudo cp falco/afalg_container.yml /etc/falco/rules.d/
sudo systemctl restart falco
# 6. Esegui il monitor eBPF (tempo reale)
sudo bpftrace ebpf/copyfail_monitor.bt
# 7. Scansiona i file PoC
yara yara/copyfail_artifacts.yar /tmp/ /dev/shm/ /var/tmp/
Questo repository contiene solo contenuto di rilevamento difensivo. Nessun codice di exploit, script proof-of-concept, offset syscall o shellcode è incluso o verrà aggiunto.
| Campo | Dettaglio |
|---|
| CVE | CVE-2026-31431 |
| Soprannome | Copy Fail |
| Componente | algif_aead del kernel Linux (interfaccia crittografica AF_ALG) |
| Tipo | Escalation di Privilegi Locale (LPE) |
| CVSS | 7.8 (ALTO) |
| Primitiva | Scrittura deterministica di 4 byte nella cache delle pagine di qualsiasi file leggibile |
| Dimensione exploit | 732 byte Python (solo libreria standard, Python 3.10+) |
| Affidabilità | 100% — nessuna condizione di gara, nessun tentativo |
| Scritture su disco | Zero — solo cache delle pagine, invisibile agli strumenti FIM |
| Ambito | Ogni principale distribuzione Linux dal 2017 (kernel 4.13–6.18) |
| Rischio container | Primitiva di fuga dal container se il kernel host non è patchato (T1611) |
| Stato PoC | Pubblico dal 29 aprile 2026 |
| Patch | Commit a664bf3d603d — annulla le operazioni AEAD in-place |
| Scoperto da | Taeyang Lee (Theori) · Catena di exploit di Xint Code (assistita da IA) |
| Scheda | Contenuto |
|---|
| Panoramica | Grafico dell'attacco, catena di exploit, statistiche |
| Fasi 1–6 | Ciclo di vita IR completo con checklist |
| Feed Intelligence | Metodologia di rilevamento SOC, VAPT vs SOC, strumenti della community, stato patch |
| IOC | Indicatori syscall, processo, filesystem, comportamentali |
| MITRE ATT&CK | Mappatura delle tecniche con segnali di rilevamento |
| Casi d'uso di rilevamento | 8 casi d'uso basati su TTP (UC-CF-001 fino a UC-CF-008) |
| Caccia SIEM | 18 query su tutte le piattaforme |
| Rilevamento IA | Capacità e limiti UEBA/ML |
| Fase | Rilevamento | Strumento |
|---|
| Socket AF_ALG da non-root | Sigma · auditd · Falco · eBPF | Segnale primario |
| Catena splice() (stesso PID, 10s) | auditd · eBPF | FP quasi zero |
| Stringa AEAD authencsn | Sigma · auditd | Critico se osservato |
| uid→euid=0 senza autenticazione | auditd · Splunk · KQL | LPE confermato |
| su senza nome utente | auth.log (segnale Wiz) | Post-sfruttamento |
| PoC sul filesystem | YARA | Rilevamento staging |
| Fuga dal container | Falco con contesto K8s | T1611 |
| Persistenza post-root | auditd FIM · Wazuh | Chiavi SSH, SUID, cron |
| Approccio | Volume | Confidenza |
|---|
| ❌ Alert su tutte le splice() | ~10.000/ora | Molto bassa |
| ⚠️ Alert solo su socket(AF_ALG) | ~5–50/giorno | Media |
| ✅ AF_ALG + splice stesso PID/10s | ~0–2/giorno | Molto alta |
| ✅ AF_ALG + splice + su / 60s | ~0/giorno | Critica |
| Distribuzione | Stato | Comando |
|---|
| Ubuntu | ✅ Patchato | apt update && apt install linux-image-generic |
| AlmaLinux | ✅ Patchato | dnf clean metadata && dnf upgrade |
| CloudLinux | ✅ Patchato + livepatch | kcarectl --update |
| Debian | ✅ Tracciato | apt update && apt upgrade |
| Mainline | ✅ Corretto 7.0-rc7 | Commit a664bf3d603d |
| RHEL | ⏳ In attesa | Errata non ancora rilasciato |
| Amazon Linux | 🔄 In monitoraggio | yum update kernel |