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
Strumenti/GitHubGitHub/nisec-eric/cve-2026-31431
Escalation di PrivilegiSicurezza dei ContenitoriFramework di ExploitAnalisi delle VulnerabilitàExploitPenetration TestingSicurezza CloudApprendimento e FormazioneRed TeamingBinary Exploitation
GitHubnisec-eric/cve-2026-31431
23 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

# Exploit Linux per l'escalation dei privilegi locali per CVE-2026-31431 Fornisce un PoC affidabile a colpo singolo con implementazioni in più linguaggi, scanner di vulnerabilità e script di mitigazione.

Vedi Repository

CVE-2026-31431 — Repository di Ricerca "Copy Fail"

Severity: High CVSS: 7.8 CVE Release License: MIT

Un'escalation di privilegi locali Linux affidabile al 100% che colpisce tutte le distribuzioni principali dal 2017.

Un singolo bug logico in authencesn, concatenato tramite AF_ALG e splice() in una scrittura di 4 byte nella page cache — sfruttabile silenziosamente per quasi un decennio.

⚠️ Disclaimer

Tutto il codice e la documentazione in questo repository sono forniti esclusivamente per ricerca di sicurezza autorizzata e scopi educativi.

Eseguire codice di exploit contro sistemi che non possiedi o per i quali non hai esplicita autorizzazione scritta ai test è illegale. Utilizzando questo repository, accetti la piena responsabilità delle tue azioni.


Panoramica

Perché Copy Fail è diverso


Struttura del Repository

root@kitploit:~
.
├── README.md                          ← Sei qui
├── LICENSE                            ← MIT
├── .gitignore
├── docs/
│   ├── analysis-report.md             ← Analisi di sicurezza completa
│   ├── analysis-report.html           ← Versione HTML stilizzata
│   ├── exploit-walkthrough.md         ← Analisi PoC riga per riga
│   └── exploit-walkthrough.html       ← Versione HTML stilizzata
└── poc/
    ├── README.md                      ← Guida all'uso del PoC
    ├── copy_fail_exp.py               ← PoC ufficiale (732 byte, offuscato)
    ├── copy_fail_exp_readable.py      ← Versione deoffuscata + annotata
    ├── copy_fail_exp_compat.py        ← Compatibilità Python 3.6+ (ctypes splice)
    ├── copy_fail_exp_alpine.py        ← Variante per Alpine Linux
    ├── copy_fail_exp.c                ← Implementazione in C (zero dipendenze)
    ├── copy_fail_exp.go               ← Implementazione in Go (zero dipendenze)
    ├── copy_fail_rust/                ← Implementazione in Rust
    │   ├── Cargo.toml
    │   └── src/main.rs
    ├── check_vulnerable.py            ← Scanner di vulnerabilità
    └── mitigate.sh                    ← Script di mitigazione con un clic

Avvio Rapido

Scarica la release precompilata

root@kitploit:~
# Dalle GitHub Releases — binari precompilati (Linux amd64/arm64) + tutti gli script Python
wget https://github.com/nisec-eric/cve-2026-31431/releases/latest/download/copy-fail-go-linux.tar.gz
wget https://github.com/nisec-eric/cve-2026-31431/releases/latest/download/copy-fail-c-linux.tar.gz
wget https://github.com/nisec-eric/cve-2026-31431/releases/latest/download/copy-fail-python.tar.gz

tar xzf copy-fail-go-linux.tar.gz
tar xzf copy-fail-c-linux.tar.gz
tar xzf copy-fail-python.tar.gz

# Binario statico Go (nessun Python necessario)
chmod +x copy-fail-exp-amd64
./copy-fail-exp-amd64

# Binario statico C
chmod +x copy-fail-exp-c-amd64
./copy-fail-exp-c-amd64

# Oppure usa direttamente gli script Python
python3 check_vulnerable.py

📦 Le release vengono compilate automaticamente tramite GitHub Actions a ogni push di tag v*. I binari Go e C sono compilati per linux/amd64 e linux/arm64 come binari statici.

1. Verifica se il tuo sistema è vulnerabile

root@kitploit:~
python3 poc/check_vulnerable.py

2. Applica la mitigazione (nessun riavvio richiesto)

root@kitploit:~
sudo bash poc/mitigate.sh

Questo inserisce nella blacklist il modulo del kernel algif_aead — non rompe nulla per il 99% dei sistemi.

3. Patcha correttamente — aggiorna il kernel

root@kitploit:~
# Debian/Ubuntu
sudo apt update && sudo apt upgrade linux-image-*

# RHEL/CentOS/Fedora
sudo dnf update kernel

# Riavvia nel kernel patchato
sudo reboot

4. Verifica

root@kitploit:~
python3 poc/check_vulnerable.py
# Codice di uscita 1 = protetto ✓

Exploit PoC

ATTENZIONE: Esegui solo su sistemi che possiedi o per i quali hai autorizzazione ai test.

root@kitploit:~
# C
gcc -static -o exp ./poc/copy_fail_exp.c && ./exp

# Python
python3 poc/copy_fail_exp.py
python3 poc/copy_fail_exp_compat.py        # Python < 3.10

# Go
go build -o exp ./poc/copy_fail_exp.go && ./exp

# Rust
cd poc/copy_fail_rust && cargo run --release

Tutte le versioni accettano un argomento opzionale per puntare a un diverso binario SUID:

root@kitploit:~
python3 poc/copy_fail_exp.py /usr/bin/passwd
./exp /usr/bin/sudo

Documentazione

📄 Report di Analisi di Sicurezza (HTML)

Valutazione completa della vulnerabilità che copre:

  • Causa principale tecnica (provenienza delle pagine scatterlist, scrittura scratch authencesn)
  • Versioni interessate e stato delle patch nelle distribuzioni
  • Rimedio per Linux bare-metal, Kubernetes, Docker, WSL2
  • Guida a rilevamento e monitoraggio (auditd, SELinux, integrità dei file)
  • Cronologia della divulgazione

📄 Walkthrough dell'Exploit (HTML)

Analisi PoC riga per riga che copre:

  • Sorgente deoffuscato completo con annotazioni
  • Internals del kernel: flusso socket AF_ALG, consegna splice() nella page cache, meccanica di sg_chain()
  • La scrittura scratch ESN di authencesn che attraversa i confini dello scatterlist
  • Analisi del payload (shellcode ELF da 160 byte)
  • Varianti di attacco: iniezione in /etc/passwd, targeting di librerie condivise, fuga dal container
  • Limiti e confini dell'attacco

Impatto per Ambiente


Riferimenti Chiave

  • copy.fail — Pagina ufficiale della vulnerabilità
  • Blog Xint — Writeup Tecnico — Analisi approfondita della causa principale
  • Voce NVD
  • Advisory GitHub GHSA-2274-3hgr-wxv6
  • Patch del Kernel (commit a664bf3d603d)
  • Repository PoC Ufficiale
  • Advisory Red Hat | Ubuntu | SUSE | Amazon Linux

Contributi

Contributi benvenuti:

  • Implementazioni PoC aggiuntive (Zig, ecc.)
  • Risultati di test specifici per distribuzione
  • Regole di rilevamento (Snort, Suricata, YARA, Sigma)
  • Traduzioni della documentazione

Apri una issue o una pull request.

Licenza

MIT — Usa in modo responsabile.

Scarica lo strumento
CampoDettaglio
CVECVE-2026-31431
AliasCopy Fail
TipoEscalation di privilegi locali del kernel Linux (LPE) / scrittura arbitraria nella page cache
CVSS v3.17.8 HIGH — AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CWECWE-669 (Trasferimento Incorretto di Risorse tra Sfere)
Componentecrypto/algif_aead — template crittografico authencesn
Introdotto2017 (commit 72548b093ee3)
CorrettoCommit mainline a664bf3d603d (2026-04-01)
Kernel patchatov6.18.22+, v6.19.12+, v7.0+
ScopritoreXint / Theori (Taeyang Lee + audit assistito da Xint Code AI)
Divulgazione2026-04-29 — copy.fail
Tipico LPE LinuxCopy Fail
Condizione di garaRichiestaNessuna
Offset per distribuzioneRichiestiNessuno
Affidabilità30–80%100%, colpo singolo
Finestra di impattoStretta2017 → 2026 (9 anni)
Modifica su discoPossibileNessuna (furtiva)
Cross-containerNoSì
FileLinguaggioRequisitiNote
copy_fail_exp.pyPython 3.10+solo stdlibPoC ufficiale da 732 byte
copy_fail_exp_compat.pyPython 3.6+stdlib + ctypesFunziona su CentOS 7, AL2 ecc.
copy_fail_exp_alpine.pyPython 3.10+solo stdlibPunta a /bin/ping su Alpine
copy_fail_exp.cCgcc + header LinuxBinario statico, zero dipendenze
copy_fail_exp.goGo 1.21+solo stdlibBinario statico, zero dipendenze
copy_fail_rust/Rust 1.70+crate libc + flate2Binario statico
AmbienteRischioPerché
Host Linux multi-tenant🔴 AltoQualsiasi utente → root
Kubernetes / container🔴 AltoPage cache condivisa → fuga dal container
Runner CI (self-hosted)🔴 AltoPR dannosa → root del runner
SaaS cloud (codice utente)🔴 AltoTenant → root dell'host
Server standard🟡 MedioSi combina con RCE web / credenziali rubate
Laptop mono-utente🟢 BassoGià l'unico utente