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 — Exploit per CVE-2026-31431, una vulnerabilità authencesn del kernel Linux che consente l'escalation dei privilegi locali a root tramite la manipolazione della cache di pagina. | Kitploit
Strumenti/GitHubGitHub/abdullaabdullazade/cve-2026-31431
Escalation di PrivilegiFramework di ExploitAnalisi delle VulnerabilitàExploit
GitHubabdullaabdullazade/cve-2026-31431

CVE-2026-31431

Exploit per CVE-2026-31431, una vulnerabilità authencesn del kernel Linux che consente l'escalation dei privilegi locali a root tramite la manipolazione della cache di pagina.

Vedi Repository

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
134 mesi faNon ancora revisionato

Copy Fail (CVE-2026-31431) - Analisi Completa

1. Panoramica della Vulnerabilità

  • Nome della Vulnerabilità: Copy Fail
  • Identificatore CVE: CVE-2026-31431
  • Scoperta da / Autori: Xint Code Research Team (basandosi sulla ricerca fondamentale iniziale del ricercatore Theori Taeyang Lee).

"Copy Fail" è una vulnerabilità logica critica nel template crittografico authencesn del kernel Linux. Consente a un utente locale non privilegiato di attivare una scrittura deterministica e controllata di 4 byte nella cache delle pagine di qualsiasi file leggibile sul sistema. Prendendo di mira i binari setuid (come /usr/bin/su), un attaccante può modificare la cache di esecuzione in memoria per elevare i privilegi a Root (UID 0).

A differenza di vulnerabilità più vecchie come "Dirty Cow" o "Dirty Pipe", Copy Fail è un difetto logico lineare che si attiva senza condizioni di gara, tentativi ripetuti o finestre temporali soggette a crash. È altamente portabile e furtivo, poiché modifica solo la cache delle pagine in memoria lasciando il file su disco completamente invariato, bypassando gli strumenti standard di monitoraggio dell'integrità dei file.

2. Analisi della Causa Radice

La vulnerabilità esiste all'intersezione di tre distinti componenti del kernel:

  1. AF_ALG e AEAD In-Place: AF_ALG è un tipo di socket che espone il sottosistema crittografico del kernel allo spazio utente. Nel 2017, è stata aggiunta un'ottimizzazione per eseguire operazioni AEAD in-place, il che significa che la stessa scatterlist funge sia da input che da output per l'algoritmo crittografico.
  2. La System Call splice(): La syscall splice() trasferisce dati tra descrittori di file e pipe senza copiarli, passando le pagine della cache per riferimento. Quando un utente esegue lo splice di un file (come /usr/bin/su) in un socket AF_ALG, la scatterlist di input del socket contiene riferimenti diretti alle pagine memorizzate nella cache del kernel di quel file.
  3. Scrittura Scratch di authencesn: L'algoritmo authencesn (usato per i Numeri di Sequenza Estesi IPsec) richiede il riarrangiamento dei byte. Per fare ciò, scrive temporaneamente 4 byte di numeri di sequenza nel buffer di output come "spazio scratch". Tuttavia, scrive oltre il legittimo confine di output.

A causa dell'ottimizzazione in-place del 2017, la scatterlist di output contiene le pagine della cache di sola lettura passate da splice(). Quando authencesn scrive oltre il confine di output, sovrascrive direttamente 4 byte nella memoria cache del kernel del file di destinazione.

3. Meccanismo di Sfruttamento

Un attaccante può sfruttare questa vulnerabilità seguendo questi passaggi:

  1. Configurazione del Socket: Aprire un socket AF_ALG non privilegiato e associarlo a authencesn(hmac(sha256),cbc(aes)).
  2. Costruzione della Scrittura: Inviare una sendmsg() appositamente costruita con un payload di Dati Autenticati Associati (AAD) contenente i 4 byte che si desidera scrivere.
  3. Splice del Target: Usare splice() per convogliare il file di destinazione (/usr/bin/su) nel socket. L'offset e la lunghezza definiscono esattamente dove nella cache delle pagine verranno scritti i 4 byte.
  4. Attivazione della Decrittazione: La chiamata a recv() attiva l'operazione di decrittazione, eseguendo la scrittura scratch fuori dai limiti direttamente nella cache delle pagine del file di destinazione.
  5. Esecuzione: Eseguire il binario di destinazione (ad es., execve("/usr/bin/su")). Il kernel esegue la versione manomessa della cache delle pagine contenente lo shellcode dannoso iniettato, concedendo l'accesso root.

4. Mitigazione e Rimedio

Soluzione Temporanea

Se l'applicazione della patch o il riavvio del kernel non sono immediatamente possibili, è possibile mitigare questa vulnerabilità mettendo in blacklist tutti i moduli af_alg correlati e scaricandoli dalla memoria.

Per bloccare questi moduli, eseguire i seguenti comandi:

root@kitploit:~
# 1. Scaricare i moduli dalla memoria se attualmente caricati
sudo modprobe -r algif_hash algif_skcipher algif_aead algif_rng af_alg

# 2. Aggiungere i moduli alla blacklist
echo -e "blacklist af_alg\nblacklist algif_hash\nblacklist algif_skcipher\nblacklist algif_aead\nblacklist algif_rng" | sudo tee /etc/modprobe.d/stop-exploit.conf

# 3. Impedire il caricamento completo del modulo af_alg
echo "install af_alg /bin/true" | sudo tee -a /etc/modprobe.d/stop-exploit.conf

# 4. Riavviare il sistema per garantire che le modifiche abbiano pieno effetto
sudo reboot

Correzione Permanente

Il team di sicurezza del kernel Linux ha corretto questa vulnerabilità (Commit: a664bf3d603d). La patch ripristina le operazioni AEAD di AF_ALG a un modello out-of-place, separando le scatterlist di origine e destinazione. Ciò impedisce che le pagine della cache vengano esposte alla scatterlist di destinazione scrivibile.

Azione Richiesta: Aggiornare il kernel della propria distribuzione all'ultima versione fornita dal proprio vendor (Ubuntu, Amazon Linux, RHEL, SUSE, ecc.) e riavviare il sistema.

Scarica lo strumento