Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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 — # Riscrittura in Golang dell'exploit di escalation dei privilegi locali Copy Fail (CVE-2026-31431), che corrompe la cache di pagina per ottenere i privilegi di root sui sistemi Linux. | Kitploit
Strumenti/GitHubGitHub/gr-1m/cve-2026-31431
Escalation di PrivilegiFramework di ExploitAnalisi delle VulnerabilitàExploitEscape dal ContainerBinary Exploitation
GitHubgr-1m/cve-2026-31431

CVE-2026-31431

# Riscrittura in Golang dell'exploit di escalation dei privilegi locali Copy Fail (CVE-2026-31431), che corrompe la cache di pagina per ottenere i privilegi di root sui sistemi Linux.

Vedi Repository
1275 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

CVE-2026-31431 — Copy Fail

中文版

732 Byte per Root su ogni principale distribuzione Linux

CVE-2026-31431 (Copy Fail) è un bug logico nel template crittografico authencesn del kernel Linux. Consente a un utente locale non privilegiato di attivare una scrittura deterministica e controllata di 4 byte nella cache delle pagine di qualsiasi file leggibile sul sistema.

Panoramica

  • ID CVE: CVE-2026-31431
  • Tipo: Escalation dei privilegi locale / Evasione dal container
  • Sistemi interessati: Kernel Linux con CONFIG_CRYPTO_AUTHENC (praticamente tutte le principali distribuzioni dal 2017)
  • Scoperto da: Xint Code Research Team, con il contributo iniziale del ricercatore Theori Taeyang Lee

Come funziona

Il bug combina due comportamenti:

  1. AF_ALG + splice: splice() trasferisce le pagine della cache per riferimento nello scatterlist di un socket AF_ALG. Per la modalità in-place di decrittazione AEAD, le pagine dei tag (dalla cache delle pagine del file di destinazione) rimangono concatenate allo scatterlist di output tramite sg_chain().

  2. Scrittura scratch di authencesn: crypto_authenc_esn_decrypt() usa dst[assoclen + cryptlen] (oltre il tag, nelle pagine della cache) come spazio scratch per il riordino del numero di sequenza ESN, scrivendo 4 byte controllati dall'attaccante senza mai ripristinarli.

La pagina corrotta non viene mai marcata come sporca, quindi il file su disco rimane invariato. Ma la cache delle pagine in memoria è ciò che viene effettivamente letto — rendendo la corruzione immediatamente visibile a livello di sistema.

Exploit

L'exploit corrompe la cache delle pagine di /usr/bin/su (o qualsiasi binario setuid) con un piccolo payload shellcode, 4 byte alla volta. Dopo tutte le iterazioni, eseguire su attiva il payload e apre una shell di root.

Python (exp.py)


Richiede Python 3.10+ (per `os.splice`). Usa solo moduli della libreria standard.
python3 exp.py

Golang (exp.go)


Nessuna dipendenza da Python. Compila ed esegui:
go run exp.go
go build -ldflags "-w -s" -trimpath -o exp exp.go

tinygo build -o exp exp.go

Impatto

CapacitàDettagli
PortabileLo stesso script funziona su Ubuntu, Amazon Linux, RHEL, SUSE e altro — nessun offset per distribuzione
MinuscoloL'exploit Python è di ~732 byte
FurtivoBypassa il percorso di scrittura VFS; la pagina non viene mai marcata come sporca; i checksum su disco rimangono invariati
Cross-containerLa cache delle pagine è condivisa tra i container — vettore di evasione dal container (vedi Parte 2)

Riferimenti

  • copy.fail — Advisory ufficiale
  • Xint Blog — Copy Fail: 732 Byte per Root
  • Voce NVD
  • riscrittura in C

Disclaimer

Questo repository è pubblicato esclusivamente a scopo di ricerca educativa e difensiva. Non utilizzare questo codice su sistemi che non possiedi o per i quali non hai esplicita autorizzazione al test.

Scarica lo strumento