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 — Linux exploit locale di escalation dei privilegi per CVE-2026-31431, che abusa dell'API crittografica AF_ALG con splice() per modificare la cache delle pagine e generare una shell di root. | Kitploit
Strumenti/GitHubGitHub/vyahello/cve-2026-31431
Escalation di PrivilegiFramework di ExploitAnalisi delle VulnerabilitàExploitPenetration TestingBinary Exploitation
GitHubvyahello/cve-2026-31431

CVE-2026-31431

Linux exploit locale di escalation dei privilegi per CVE-2026-31431, che abusa dell'API crittografica AF_ALG con splice() per modificare la cache delle pagine e generare una shell di root.

Vedi Repository
3 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

Copy Fail - CVE-2026-31431

Questa repository contiene un piccolo PoC di escalation dei privilegi locale per Linux relativo alla CVE-2026-31431, nota anche come "Copy Fail".

L'exploit prende di mira il percorso algif_aead del kernel Linux nell'API crypto userspace AF_ALG. Utilizza AF_ALG insieme a splice() per indurre il kernel a scrivere nella cache delle pagine di /usr/bin/su in blocchi da 4 byte, quindi esegue su dopo che la cache delle pagine è stata modificata.

Panoramica del Codice Sorgente

Il PoC in copy_fail_exp.py esegue quattro operazioni:

  1. Apre un socket AF_ALG per aead con la trasformazione authencesn(hmac(sha256),cbc(aes)).
  2. Configura la richiesta con gli stessi valori setsockopt() utilizzati nella prova di concetto originale.
  3. Utilizza due chiamate splice() per spostare i dati dal file di destinazione nel percorso di richiesta AF_ALG, che è il percorso difettoso del kernel.
  4. Decomprime un payload incorporato di 160 byte e lo scrive nel file di destinazione in blocchi da 4 byte. Il payload è uno stub ELF che include /bin/sh.

Il blob zlib non è dati casuali. È un payload compatto progettato per sostituire l'inizio di /usr/bin/su nella cache delle pagine, così che la successiva esecuzione di su generi una shell root.

Versioni Interessate

Il codice vulnerabile è stato introdotto nelle modifiche algif_aead del kernel Linux dell'era 4.14 ed è rimasto presente fino alla correzione a monte che annulla l'ottimizzazione in-place.

Ambito Generale

  • Kernel Linux compilati dal 2017 in poi che includono il percorso algif_aead in-place vulnerabile.
  • La maggior parte delle distribuzioni mainstream che hanno distribuito kernel in quella finestra temporale e non hanno ancora applicato la correzione.
  • Sistemi in cui l'API crypto AF_ALG è abilitata, che è l'impostazione predefinita sulla maggior parte delle distribuzioni Linux generiche.

Testato / Verificato Pubblicamente

DistribuzioneKernel
Ubuntu 24.04 LTS6.17.0-1007-aws
Amazon Linux 20236.18.8-9.213.amzn2023
RHEL 10.1

Punti di Correzione a Monte

  • 6.18.22
  • 6.19.12
  • 7.0

I rami LTS a valle sono sicuri solo dopo che il backport del fornitore arriva nel pacchetto kernel che esegui effettivamente.

Riproduzione

Utilizza una VM di laboratorio o un host container di tua proprietà. Non eseguire questo su sistemi di produzione.

  1. Avvia un sistema con un kernel vulnerabile.
  2. Conferma che /usr/bin/su esista e sia setuid-root.
  3. Esegui il PoC:
root@kitploit:~
python3 copy_fail_exp.py
  1. Se l'exploit ha successo, lo script modifica /usr/bin/su e poi invoca su. Dovresti ritrovarti in una shell root o vedere un prompt root, a seconda dell'ambiente.

Esecuzione

Lo script non ha dipendenze aggiuntive oltre alla libreria standard di Python 3.

root@kitploit:~
python3 copy_fail_exp.py

Se vuoi prima ispezionare il target, lo script attualmente usa come predefinito /usr/bin/su.

Applicare la Correzione

Se mantieni un kernel a valle, la correzione corretta è applicare il backport del revert a monte che rimuove l'ottimizzazione AEAD in-place:

  • Commit della correzione a monte: a664bf3d603dc3bdcf9ae47cc21e0daec706d7a5
  • La correzione annulla principalmente la precedente modifica in-place 72548b093ee3.

Flusso di lavoro consigliato per un albero del kernel a valle:

root@kitploit:~
git cherry-pick a664bf3d603dc3bdcf9ae47cc21e0daec706d7a5
make olddefconfig
make -j"$(nproc)"
make modules_install
make install
reboot

Se non ricompili i kernel da solo, installa il pacchetto kernel del fornitore che contiene il backport e riavvia con esso.

Mitigazione Temporanea

Se l'applicazione della patch è ritardata, disabilita il percorso del modulo come misura temporanea:

root@kitploit:~
echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif-aead.conf
rmmod algif_aead 2>/dev/null

Questa è una mitigazione, non una correzione.

Note

  • Il PoC è volutamente piccolo e deterministico.
  • L'exploit è solo locale, ma ha un impatto elevato su host condivisi, runner CI, nodi Kubernetes e piattaforme container perché la cache delle pagine dell'host è condivisa.
  • Il bug del kernel è un errore logico, non una condizione di gara, quindi il percorso dell'exploit è affidabile una volta che il codice vulnerabile è presente.
Scarica lo strumento
6.12.0-124.45.1.el10_1
SUSE 166.12.0-160000.9-default