Skip to content
KitploitKITPLOIT
StrumentiBlog
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.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-31431 — Exploit per CVE-2026-31431, un bug di authencesn del kernel Linux che consente l'escalation dei privilegi locali e la fuga dal container tramite una scrittura di 4 byte nella cache di pagina. | Kitploit
Strumenti/GitHubGitHub/luotian2/cve-2026-31431
Escalation di PrivilegiFramework di ExploitAnalisi delle VulnerabilitàExploitApprendimento e FormazioneEscape dal ContainerBinary Exploitation
GitHubluotian2/cve-2026-31431

CVE-2026-31431

Exploit per CVE-2026-31431, un bug di authencesn del kernel Linux che consente l'escalation dei privilegi locali e la fuga dal container tramite una scrittura di 4 byte nella cache di pagina.

Vedi Repository
223 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 innescare 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 delle pagine 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 delle pagine) 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 di qualsiasi binario setuid) con un piccolo payload shellcode, 4 byte alla volta. Dopo tutte le iterazioni, l'esecuzione di su esegue il payload e apre una shell di root.

Python (exp.py)


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

C (exp.c)


Nessuna dipendenza da Python. Compila ed esegui:
root@kitploit:~
gcc -o exp exp.c
./exp

Impatto

CapacitàDettagli

Riferimenti

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

Disclaimer

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

Scarica lo strumento
Portabile
Lo stesso script funziona su Ubuntu, Amazon Linux, RHEL, SUSE e altro — nessun offset specifico 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)