Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-31431 — Proof-of-concept funzionante per CVE-2026-31431, un'escalation locale dei privilegi nel kernel Linux tramite corruzione della cache delle pagine AF_ALG AEAD, che concede una shell di root. | Kitploit
Strumenti/GitHubGitHub/wesmar/cve-2026-31431
Escalation di PrivilegiFramework di ExploitAnalisi delle VulnerabilitàExploitBinary Exploitation
GitHubwesmar/cve-2026-31431

CVE-2026-31431

Proof-of-concept funzionante per CVE-2026-31431, un'escalation locale dei privilegi nel kernel Linux tramite corruzione della cache delle pagine AF_ALG AEAD, che concede una shell di root.

Vedi Repository
6185 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 — Escalatazione dei Privilegi Locali tramite AF_ALG

NVD / NIST PoC Download

2026-04-29 — Pubblico questo exploit un giorno dopo averlo condiviso sul forum MyDigitalLife. Non richiede Python; è scritto in C e compilato nella dimensione più piccola possibile usando:

musl-gcc -static -Os -o exploit exploit.c -s

Minaccia critica. Il binario dell'exploit è compilato senza dipendenze e può essere utilizzato per testare le vulnerabilità su qualsiasi sistema Linux

CVE-2026-31431 è una vulnerabilità confermata da NIST nel kernel Linux che consente a un utente locale non privilegiato di ottenere una shell root in pochi secondi. Alla luce dell'exploit circolante pubblicamente per CVE-2026-31431, ho sviluppato una proof-of-concept (PoC) binaria per valutare l'esposizione della nostra infrastruttura interna. Sebbene alcuni ambienti limitino l'uso di su, questa vulnerabilità è particolarmente critica per i server condivisi perché colpisce la gestione della memoria del kernel sottostante. Di conseguenza, qualsiasi binario SETUID — inclusi sudo, passwd, mount o newgrp — può essere sfruttato per attivare l'exploit e ottenere una shell root. È necessaria un'azione amministrativa immediata per applicare la patch al kernel, poiché le restrizioni standard a livello di spazio utente sono insufficienti per mitigare questa minaccia. Qualsiasi sistema Linux che esegue un kernel non patchato è a rischio.

Il Mio Exploit Funzionante · Kernel Linux · Interfaccia crittografica AF_ALG (AEAD)

Sostituisce /usr/bin/su nella cache delle pagine del kernel senza toccare il file su disco

È sufficiente l'accesso alla shell locale — non sono richiesti privilegi aggiuntivi

Colpisce le distribuzioni Linux non patchate

CVE-2026-31431


📚 Indice dei Contenuti

  • Cos'è questa vulnerabilità
  • Chi è colpito
  • Come funziona l'exploit — passo dopo passo
  • Flusso dell'attacco
  • Analisi del codice dell'exploit
  • Payload ELF — dettagli tecnici
  • Come verificare se si è vulnerabili
  • Mitigazioni
  • Note del ricercatore
  • Disclaimer

Cos'è questa vulnerabilità

CVE-2026-31431 è un bug nella gestione delle operazioni di I/O scatter-gather e dei riferimenti alla cache delle pagine nel sottosistema crittografico del kernel Linux — in particolare nell'implementazione dei socket AF_ALG per gli algoritmi AEAD (crypto/af_alg.c, crypto/aead.c).

ProprietàValore
IdentificatoreCVE-2026-31431
RiferimentoNIST NVD
TipoEscalatazione dei Privilegi Locali (LPE)
ComponenteKernel Linux — AF_ALG / AEAD (authencesn)
Accesso richiestoUtente locale non privilegiato
ImpattoShell root interattiva
Stato dell'exploitPoC funzionante disponibile pubblicamente su GitHub
PersistenzaNessuna — la modifica esiste solo in RAM; il riavvio ripristina lo stato originale

Cosa succede realmente

Il kernel Linux espone un'interfaccia crittografica allo spazio utente tramite i socket AF_ALG. La vulnerabilità risiede nel fatto che durante un'operazione di decrittazione AEAD, il kernel mappa erroneamente l'output della decrittazione direttamente sulle pagine della cache delle pagine del file sorgente — invece di un buffer temporaneo. Un attaccante può quindi sovrascrivere il contenuto in memoria di qualsiasi file senza modificarlo su disco, senza privilegi root e senza lasciare tracce visibili nel filesystem.


Chi è colpito

SistemaStato
Ubuntu 24.04 (bare metal / VM)⚠️ Vulnerabile su kernel non patchato
Debian, Fedora, Arch su kernel non patchato⚠️ Vulnerabile
Distribuzioni con CONFIG_SECURITY_LOCKDOWN_LSM✅ Probabilmente protette
Sistemi con nosuid o ProtectSUID (systemd)✅ Protetti
Sistemi con AppArmor/SELinux che bloccano AF_ALG✅ Protetti
macOS, Windows (nativo)✅ Non colpiti

Come funziona l'exploit — passo dopo passo

L'exploit è composto da due componenti: uno script helper in /tmp/x e un ciclo di corruzione basato su AF_ALG. Di seguito una descrizione esatta basata sull'analisi del codice sorgente:

1. Configurazione dello script helper

L'exploit crea /tmp/x con il seguente contenuto:

#!/bin/sh
export TERM=xterm-256color
exec /bin/sh

Imposta i permessi a 0755. Il motivo: /usr/bin/su rimuove le variabili d'ambiente (inclusa TERM) all'avvio. Lo script helper le ripristina prima di generare la shell reale, garantendo un terminale funzionante.

2. Costruzione del payload ELF

Un binario ELF x86_64 minimale di 158 byte contenente shellcode grezzo viene costruito in memoria. La stringa /bin/sh all'offset 150 viene poi modificata in /tmp/x\0 tramite memcmp/memcpy. Vedere Payload ELF per i dettagli.

3. Apertura di /usr/bin/su in sola lettura

int su_fd = open("/usr/bin/su", O_RDONLY);

Il file viene aperto in sola lettura — l'exploit non richiede alcun permesso di scrittura.

4. Ciclo di corruzione — 39 iterazioni di 4 byte ciascuna

Il payload (158 byte) viene elaborato in blocchi di 4 byte (39 blocchi completi). Ogni blocco viene passato a corrupt_binary_chunk(), che esegue:

  • Crea un socket AF_ALG (SOCK_SEQPACKET)
  • Si associa a authencesn(hmac(sha256),cbc(aes)) — un algoritmo AEAD composto
  • Imposta una chiave di 72 byte e una dimensione del tag di autenticazione di 4 byte
  • Accetta un socket di operazione (op_sock)
  • Invia sendmsg con un buffer di 8 byte (4× 'A' + 4 byte di payload) e tre CMSG: ALG_OP_DECRYPT, IV (20 byte), assoclen=8
  • Esegue splice: su_fd → pipe → op_sock (zero-copy attraverso il kernel)
  • Finalizza tramite recv() — è qui che il kernel sovrascrive erroneamente la cache delle pagine

5. Esecuzione

execve("/usr/bin/su", args, NULL);

Il kernel carica /usr/bin/su attraverso la cache delle pagine — che ora è avvelenata. Il bit SUID (chmod u+s) è intatto, quindi il kernel esegue il file come root. Lo shellcode esegue setuid(0) → execve("/tmp/x") → shell root interattiva.


Flusso dell'attacco

Scarica lo strumento