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
linux-copy-fail-CVE-2026-31431 — Proof-of-concept exploit per CVE-2026-31431 (Copy-Fail), una vulnerabilità del kernel Linux in AF_ALG e splice() che consente l'avvelenamento della cache delle pagine e l'escalation dei privilegi locali. Include analisi, risultati di laboratorio e script di rilevamento. | Kitploit
Strumenti/GitHubGitHub/adilkurtulmus/linux-copy-fail-cve-2026-31431
Escalation di PrivilegiMemory ForensicsAnalisi delle VulnerabilitàExploitApprendimento e FormazioneBinary ExploitationLab e Pratica
GitHubadilkurtulmus/linux-copy-fail-cve-2026-31431

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

linux-copy-fail-CVE-2026-31431

Proof-of-concept exploit per CVE-2026-31431 (Copy-Fail), una vulnerabilità del kernel Linux in AF_ALG e splice() che consente l'avvelenamento della cache delle pagine e l'escalation dei privilegi locali. Include analisi, risultati di laboratorio e script di rilevamento.

Vedi Repository
3 mesi faNon ancora revisionato

Analisi del Copy-Fail di Linux (CVE-2026-31431) 🛡️

Questa repository contiene un'analisi approfondita, una Proof-of-Concept (PoC) e i risultati dei test di laboratorio per la vulnerabilità CVE-2026-31431, nota anche come "Copy-Fail".

Copy-Fail sfrutta un difetto logico nella Crypto API del Kernel Linux (AF_ALG) combinato con la chiamata di sistema splice(). Consente a un attaccante locale non privilegiato di eseguire un Page Cache Poisoning, portando a un'Elevazione dei Privilegi Locali (LPE).

🧠 Panoramica Tecnica: Page Cache Poisoning

A differenza degli exploit tradizionali che modificano i file sul disco, Copy-Fail prende di mira direttamente la Page Cache (RAM). Quando un file viene letto, il kernel ne memorizza una copia in RAM per migliorare le prestazioni. A causa di un bug nella gestione della memoria nell'algoritmo authenc su specifiche versioni del kernel, un attaccante può ingannare il kernel facendogli sovrascrivere queste pagine di memoria "di sola lettura".

Avvelenando le pagine di memoria dei binari SETUID come /usr/bin/su, è possibile bypassare l'autenticazione e ottenere una shell di root.

🧪 Ambienti di Laboratorio e Risultati dei Test

I test sono stati condotti su più distribuzioni Ubuntu, esaminando in particolare l'impatto del backporting del kernel e della gestione delle patch.

DistribuzioneVersione del KernelData della PatchRisultatoOsservazione
Ubuntu 24.046.8.0-87-genericOtt 2025❌ FallitoAggiornamenti di sicurezza attivi
Ubuntu 22.045.15.0-125-genericSet 2024✅ SUCCESSOVulnerabile (Non patchato)
Ubuntu 18.044.15.0-197-genericNov 2022✅ SUCCESSOVulnerabile (Non patchato)

Il Paradosso del Backport

I numeri di versione del kernel possono essere fuorvianti. Mentre i kernel "più recenti" come il 6.8 sono protetti tramite patch di sicurezza, i kernel più vecchi o EOL (End of Life) come il 4.15 e il 5.15 sono rimasti completamente vulnerabili a causa della mancanza di fix backportati.

📊 Ubuntu 22.04 (Kernel 5.15) Analisi Comparativa

Durante la ricerca, è stato ottenuto un risultato sorprendente testando due diversi sistemi Ubuntu 22.04 che condividono la stessa versione principale del kernel:

Versione del Kernel

Analisi:

Questo test dimostra che la sicurezza di un sistema non può essere misurata solo dal numero di versione principale. Un server che esegue la 5.15.0-125 può essere compromesso in pochi secondi, mentre la 5.15.0-170 blocca completamente l'attacco.

Output dell'Exploit Riuscito (Kernel 5.15.0-125):

root@kitploit:~
$ python3 ubuntu_22.04_copy_fail_exploit.py 
[*] Avvelenamento di /usr/bin/su (Ubuntu 22.04 / Kernel 5.15)...
[+] Exploit completato. Attivazione di Root...
# id
uid=0(root) gid=1004(jastin) groups=1004(jastin)
# whoami
root
# export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# /bin/bash -i
root@ovh-net-dream01:/tmp#

🛠️ Proof of Concept (PoC)

La PoC è stata sviluppata utilizzando ctypes per garantire la compatibilità con diverse versioni di Python (in particolare per le versioni prive del supporto nativo os.splice).

Caratteristiche Principali:

  • Chiamate libc.splice di basso livello tramite ctypes.
  • Caching forzato del binario di destinazione.
  • Dimostrazione dell'impatto laterale (l'avvelenamento da parte di un utente colpisce tutti gli utenti).

Esecuzione dell'Exploit:

1.Caricare i moduli crypto richiesti:

sudo modprobe af_alg algif_aead authenc echainiv

2.Eseguire l'exploit:

python3 final_exploit.py

🎥 Dimostrazione

root@kitploit:~
$ python3 ubuntu_18.04_copy_fail_exploit.py
[*] /bin/su zehirleniyor (Kernel 4.15)...
[+] Bellek zehirlendi! Root tetikleniyor...
# id
uid=0(root) gid=1004(jastin) groups=1004(jastin)
# whoami
root
# export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# /bin/bash -i
root@ovh-net-dream02:/tmp#

🛡️ Mitigazione e Prevenzione

  • 1. La Soluzione Definitiva: Aggiornamento del Kernel

  • sudo apt update && sudo apt upgrade -y
  • sudo reboot

2. Risposta di Emergenza: Svuotamento della Cache

  • Per pulire le pagine avvelenate in memoria

sync; echo 3 | sudo tee /proc/sys/vm/drop_caches

3. Difesa Proattiva: Blacklist dei Moduli

  • echo "blacklist authenc" | sudo tee /etc/modprobe.d/blacklist-authenc.conf
  • echo "blacklist algif_aead" | sudo tee -a /etc/modprobe.d/blacklist-authenc.conf
  • sudo depmod -a

🛡️ Script di Rilevamento della Vulnerabilità

root@kitploit:~
# 1. Controllare la versione del kernel
# uname -r

# 2. Controllare i moduli caricati (Sicuro se nessun output)
# lsmod | grep -E "algif_aead|authencesn"

# 3. Test Critico — bind authencesn
python3 -c "
import socket
try:
    s = socket.socket(38, 5, 0)
    s.bind(('aead', 'authencesn(hmac(sha256),cbc(aes))'))
    print('[!] CRITICO — Sistema Vulnerabile!')
    s.close()
except:
    print('[+] Sicuro — authencesn non raggiungibile')
"

# 4. Hash dei binari setuid (riferimento)
sha256sum /usr/bin/su /usr/bin/sudo /usr/bin/passwd

Tabella di Valutazione:

RisultatoSignificato
Nessun output lsmod + errore di bind✅ Sicuro
Output lsmod presente O bind riuscito⚠️ Vulnerabile, applicare le patch immediatamente

Disclaimer: Questa ricerca e la PoC sono solo a scopo educativo e di test di sicurezza autorizzati. L'utilizzo su sistemi non autorizzati può comportare conseguenze legali.

Scarica lo strumento
Data della Patch
Risultato
Stato
5.15.0-125Set 2024✅ SUCCESSOVulnerabile (Exploit Attivato)
5.15.0-170Gen 2026❌ FALLITOSicuro (Patchato)