Skip to content
KitploitKITPLOIT
StrumentiBlog
Log in
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
cve-2026-31431 — Toolkit di ricerca e rilevamento per la LPE del kernel Linux CVE-2026-31431, che include analisi degli exploit, regole YARA, rilevamento auditd/Falco, guida alla patch e ambiente di laboratorio. | Kitploit
Strumenti/GitHubGitHub/vasyapokemon/cve-2026-31431
Escalation di PrivilegiAnalisi delle VulnerabilitàExploitAnalisi MalwareDigital ForensicsRilevamento IntrusioniPaper e RicercaApprendimento e FormazioneRisposta agli IncidentiRisorse CurateLab e Pratica
245 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
GitHub
vasyapokemon/cve-2026-31431

cve-2026-31431

Toolkit di ricerca e rilevamento per la LPE del kernel Linux CVE-2026-31431, che include analisi degli exploit, regole YARA, rilevamento auditd/Falco, guida alla patch e ambiente di laboratorio.

Vedi Repository

CVE-2026-31431 — "Copy Fail": Escalatione dei Privilegi Locali nel Kernel Linux algif_aead

CISA KEV | CVSS 7.8 ALTO | Interessa i kernel Linux 4.14 – inizio 2026 (~9 anni)


Indice

  1. Sintesi Esecutiva
  2. Valutazione del Rischio
  3. Analisi Tecnica Approfondita
  4. Metodologia di Attacco — Red Team
  5. Rilevamento e Risposta agli Incidenti — Blue Team
  6. Patch e Rimedio
  7. Ambiente di Laboratorio
  8. Riferimenti

1. Sintesi Esecutiva

CVE-2026-31431, soprannominata "Copy Fail", è una vulnerabilità di escalation dei privilegi locali (LPE) ad alta gravità nel sottosistema crittografico del kernel Linux. Un utente locale con privilegi bassi può ottenere root in pochi secondi su qualsiasi sistema non patchato.

AttributoValore
CVECVE-2026-31431
SoprannomeCopy Fail
CVSS v3.17.8 ALTO
Vettore di AttaccoLocale
Privilegi RichiestiBassi
Interazione UtenteNessuna
Componentecrypto/algif_aead.c — template authencesn
Introdotta2017 (commit 72548b093ee3)
Divulgata2026
Anni di Silenzio~9 anni
CISA KEVSì
PoC PubblicoSì (script Python autonomo da 732 byte)

Impatto Aziendale

  • Accesso root su qualsiasi server Linux, VM, istanza cloud o host di container non patchato
  • Fuga dal container dai pod Kubernetes — la cache di pagina è condivisa con il kernel host
  • Nessuna impronta su disco — lo sfruttamento non lascia modifiche ai file, pagine sporche o tracce di audit tramite i tool standard di integrità dei file (Tripwire, AIDE)
  • Interessa Red Hat, Ubuntu, Debian, SUSE, Amazon Linux e praticamente tutte le principali distribuzioni che eseguono kernel dal 2017 in poi

Azione Immediata Raccomandata

  1. Mitigazione temporanea (implementare subito, nessun riavvio richiesto se il modulo non è caricato): ```bash echo "install algif_aead /bin/false" | sudo tee /etc/modprobe.d/disable-algif-aead.conf sudo rmmod algif_aead 2>/dev/null || true
  2. Correzione permanente: aggiorna i pacchetti del kernel tramite il gestore pacchetti della tua distribuzione e riavvia il sistema.
  3. Verifica: esegui detection/check_vulnerable.sh prima e dopo la correzione.

2. Valutazione del rischio

Stringa del vettore CVSS 3.1```

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

| Metrica | Valore | Motivazione |
|--------|-------|-----------|
| Vettore di attacco | **Locale** | Richiede accesso alla shell (SSH, exec in container, fisico) |
| Complessità dell'attacco | **Bassa** | Affidabile, completamente automatizzato — nessuna race condition richiesta |
| Privilegi richiesti | **Bassi** | Qualsiasi account utente non privilegiato |
| Interazione utente | **Nessuna** | Nessuna interazione con la vittima richiesta |
| Riservatezza | **Alta** | Compromissione completa del sistema |
| Integrità | **Alta** | Compromissione completa del sistema |
| Disponibilità | **Alta** | Compromissione completa del sistema |

### Panorama delle minacce

| Fattore | Valutazione |
|--------|-----------|
| Disponibilità del PoC | Pubblico, armato, Python standalone da 732 byte |
| Affidabilità dell'exploit | Alta — funziona sulle distro testate senza modifiche |
| Difficoltà di rilevamento | Alta — nessuna scrittura su disco, nessuna dirty page |
| Competenza richiesta all'attaccante | Bassa — script kiddie con PoC pubblico |
| CISA KEV | Aggiunto nel 2026 — monitorato attivamente |
| Microsoft Defender | Segnalato come sotto indagine attiva |

### Ambienti interessati

| Ambiente | Rischio |
|-------------|------|
| Server Linux bare-metal | Critico |
| VM Linux (cloud o on-premise) | Critico |
| Nodi Kubernetes | Critico (consente anche la fuga dal container) |
| Host Docker | Critico |
| Hosting condiviso / multi-tenant | Critico |
| WSL2 / Linux su Windows | Valutare in base alla versione del kernel |

---

## 3. Approfondimento tecnico

### 3.1 Contesto: AF_ALG e AEAD

Il kernel Linux espone le operazioni crittografiche agli utenti tramite **socket AF_ALG** (`AF_ALG = 38`). Questa interfaccia (`algif_aead`) consente alle applicazioni non privilegiate di invocare gli acceleratori hardware crittografici del kernel senza necessitare di codice in modalità kernel.

Gli algoritmi **AEAD** (Authenticated Encryption with Associated Data) come AES-GCM e ChaCha20-Poly1305 sono ampiamente utilizzati per TLS, crittografia del disco e protocolli VPN. Il template vulnerabile è `authencesn` — una composizione AEAD che utilizza `hmac(sha256)` + `cbc(aes)` con supporto Extended Sequence Number (ESN), comunemente usato in IPsec.

### 3.2 Causa principale

Nel 2017, il commit `72548b093ee3` ha introdotto l'**operazione AEAD in-place** in `algif_aead` come ottimizzazione delle prestazioni — consentendo al motore crittografico di leggere e scrivere lo stesso buffer. Questo era difettoso:```
The bug chain:

1. Caller binds AF_ALG socket to:
      authencesn(hmac(sha256),cbc(aes))

2. Caller sends a decryption request via sendmsg() with specific flags

3. Caller uses splice() to feed PAGE CACHE PAGES from an open file
   descriptor directly into the socket's scatterlist

4. The authencesn template, during ESN header processing, uses the
   OUTPUT BUFFER as scratch space — writing 4 bytes past the
   expected output boundary

5. Because the scatterlist contains page cache pages (not private
   copies), this scratch write lands DIRECTLY IN THE PAGE CACHE

6. Page cache is shared kernel-wide — all processes reading the
   same file now see the modified bytes

Key insight: splice() is zero-copy — it hands page cache references
to the socket. The in-place "optimization" then writes INTO those
pages. No dirty bit is set because the write goes through the crypto
engine, not the normal write path.

3.3 La Primitiva di Scrittura

La vulnerabilità fornisce una scrittura controllata di 4 byte nella cache delle pagine di qualsiasi file che l'attaccante può aprire in lettura:

ProprietàValore
Dimensione della scrittura4 byte
Controllo dell'offsetSì — controllato dall'attaccante tramite l'offset di splice
DestinazioneCache delle pagine di qualsiasi file leggibile
Marcatura della pagina sporcaNessuna
Modifica su discoNessuna
Aggiornamento del timestampNessuno
Voce nel log del kernelNessuna (a meno che auditd non sia configurato)

La scrittura è ripetibile — l'exploit esegue in loop la scrittura di 4 byte per applicare patch a sequenze di codice più lunghe.

3.4 Catena di Sfruttamento```

[1] Open /usr/bin/su (or any setuid-root binary) for reading ↓ [2] Map a copy to find target instruction bytes (e.g., UID check, execve path, security gate) ↓ [3] Compute exact page cache offset of target bytes ↓ [4] Set up AF_ALG socket → authencesn(hmac(sha256),cbc(aes)) ↓ [5] splice() the target binary's page cache into the socket ↓ [6] Trigger decryption → authencesn scratch write patches the target bytes in page cache (4 bytes per iteration) ↓ [7] Repeat for each 4-byte patch needed ↓ [8] Execute /usr/bin/su → runs root-owned setuid binary but now with attacker-controlled code in page cache ↓ [9] Root shell

### 3.5 Perché le Difese Standard Falliscono
Scarica lo strumento