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 — Documentazione e analisi di una vulnerabilità di escalation dei privilegi locali nel template authencesn del kernel Linux tramite AF_ALG e splice(), incluse le versioni interessate, il rilevamento e le mitigazioni. | Kitploit
Strumenti/GitHubGitHub/xd20111/cve-2026-31431
Escalation di PrivilegiFramework di ExploitAnalisi delle VulnerabilitàExploit
GitHubxd20111/cve-2026-31431

CVE-2026-31431

Documentazione e analisi di una vulnerabilità di escalation dei privilegi locali nel template authencesn del kernel Linux tramite AF_ALG e splice(), incluse le versioni interessate, il rilevamento e le mitigazioni.

Vedi Repository
114 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 — Copy Fail

Escalatazione dei privilegi locale nel template crittografico authencesn del kernel Linux tramite AF_ALG + splice().
Divulgato il 29 aprile 2026 da Theori (Xint Code).


Panoramica

CampoDettaglio
CVECVE-2026-31431
SoprannomeCopy Fail
CVSS7.8 ALTO
TipoEscalatazione dei privilegi locale (LPE)
IntrodottoKernel Linux 4.14 (2017, commit 72548b093ee3)
CorrettoCommit mainline a664bf3d603d
RichiedeAccesso shell locale non privilegiato
Vettore remotoNessuno — solo locale

Riepilogo della vulnerabilità

Un difetto logico nel wrapper AEAD authencesn del kernel consente a un utente locale non privilegiato di eseguire una scrittura deterministica e controllata di 4 byte nella page cache di qualsiasi file leggibile sul sistema — inclusi i binari setuid come /usr/bin/su.

La causa principale è un'ottimizzazione del 2017 per l'elaborazione in-place che inseriva le pagine della page cache in uno scatterlist scrivibile. L'algoritmo authencesn scrive 4 byte di dati scratch al di fuori della regione di output prevista durante il riarrangiamento dell'Extended Sequence Number. A causa della struttura dello scatterlist introdotta dall'ottimizzazione, quei 4 byte finiscono nella page cache di un file fornito tramite splice() — bypassando completamente i permessi dei file.

Nessuna race condition. Nessun tentativo. Nessun rischio di crash. Deterministico su tutte le distribuzioni testate.

Confronto con lavori precedenti


Versioni interessate

Vulnerabili: kernel Linux 4.14 fino a 6.18.21 e 6.19.x prima di 6.19.12.

Tutte le principali distribuzioni che forniscono kernel in questo intervallo sono interessate, tra cui:

DistribuzioneVersione testata
Ubuntu 24.04 LTS6.17.0-1007-aws
Amazon Linux 20236.18.8-9.213.amzn2023
RHEL 10.16.12.0-124.45.1.el10_1
SUSE 166.12.0-160000.9-default

Non interessate: Ubuntu 26.04 (Resolute) e successive.


Mitigazione

Opzione 1 — Patch (consigliata)

Aggiornare a un kernel contenente il commit mainline a664bf3d603d, che ripristina l'ottimizzazione in-place del 2017.

root@kitploit:~
# Ubuntu / Debian
sudo apt update && sudo apt upgrade -y && sudo reboot

# RHEL / AlmaLinux / Amazon Linux
sudo dnf clean metadata && sudo dnf upgrade && sudo reboot

# SUSE
sudo zypper refresh && sudo zypper update kernel-default && sudo reboot

Opzione 2 — Disabilitare algif_aead (temporaneo)

Se non è possibile applicare subito la patch, disabilitare il modulo vulnerabile per chiudere la superficie di attacco.

Nota per i sistemi RHEL-family: algif_aead è compilato nel kernel su RHEL/AlmaLinux/CentOS (CONFIG_CRYPTO_USER_API_AEAD=y). Il workaround modprobe.d non funziona su questi sistemi. Usare invece il metodo initcall_blacklist.

Debian/Ubuntu (modulo caricabile):

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

RHEL-family (integrato nel kernel — richiede riavvio):

root@kitploit:~
sudo grubby --update-kernel=ALL --args="initcall_blacklist=algif_aead_init"
sudo reboot

Verificare dopo il riavvio:

root@kitploit:~
grep initcall_blacklist /proc/cmdline

Effetti di questo workaround

Opzione 3 — seccomp (difesa in profondità)

Per carichi di lavoro non fidati — container, runner CI, ambienti sandbox — bloccare la creazione di socket AF_ALG tramite policy seccomp indipendentemente dallo stato della patch. Questo limita la superficie di attacco anche su kernel vulnerabili.


Rilevamento

Verificare se algif_aead è attualmente caricato o in uso:

root@kitploit:~
# Verificare se il modulo è caricato
lsmod | grep algif_aead

# Verificare se qualche processo ha un socket AF_ALG aperto
lsof | grep AF_ALG
ss -xa | grep alg

Le firme di rilevamento runtime sono disponibili in Sysdig Secure (regola: AF_ALG Page Cache Poisoning Leading to Privilege Escalation).


Riferimenti


Cronologia della divulgazione


Autore

xD The Watcher — Red Teamer, Ethical Hacker & AI Security Researcher
GitHub: @xd20111
Blog: yourhacker


Note

Questo repository documenta la vulnerabilità a scopo di ricerca e difesa. Per l'analisi tecnica autorevole e il PoC ufficiale, fare riferimento alla divulgazione di Theori collegata sopra.

Se il proprio modello di minaccia include multi-tenancy con kernel condiviso — container su host condiviso, runner CI, farm di build — il confine di isolamento è ora significativamente più debole fino alla patch. L'isolamento a livello hardware o VM è la risposta corretta, non i confini dei namespace.

Scarica lo strumento
Dirty Cow (2016)Dirty Pipe (2022)Copy Fail (2026)
Richiede race conditionSìParzialeNo
Specifico per versioneSìSìNo
AffidabilitàInstabileModerataDeterministica
Copertura distribuzioniLimitataLimitataTutte dal 2017
ComponenteImpatto
dm-crypt / LUKS✅ Non interessato
SSH✅ Non interessato
IPsec / XFRM✅ Non interessato
kTLS / TLS nel kernel✅ Non interessato
OpenSSL / GnuTLS / NSS (build predefinite)✅ Non interessato
OpenSSL con engine afalg esplicitamente abilitato⚠️ Ripiega sulla crittografia in userspace
Applicazioni che usano direttamente socket AF_ALG aead/skcipher/hash⚠️ Si romperanno — verificare con lsof | grep AF_ALG
RisorsaLink
Voce NVDhttps://nvd.nist.gov/vuln/detail/CVE-2026-31431
Analisi completa di Theorihttps://xint.io/blog/copy-fail-linux-distributions
Sito Copy Failhttps://copy.fail
Advisory CERT-EUhttps://cert.europa.eu/publications/security-advisories/2026-005/
Analisi Sysdighttps://sysdig.com/blog/cve-2026-31431-copy-fail-linux-kernel-flaw-lets-local-users-gain-root-in-seconds
Copertura The Registerhttps://theregister.com/2026/04/30/linux_cryptographic_code_flaw/
Note di patch AlmaLinuxhttps://almalinux.org/blog/2026-05-01-cve-2026-31431-copy-fail/
CloudLinux KernelCarehttps://blog.cloudlinux.com/cve-2026-31431-copy-fail-kernel-update
DataEvento
2017Regressione introdotta tramite commit 72548b093ee3
Inizio aprile 2026Fix upstream integrato (commit a664bf3d603d)
29 aprile 2026Divulgazione pubblica da parte di Theori / Xint Code
30 aprile 2026Inizio distribuzione delle patch delle distribuzioni
1 maggio 2026Kernel patchati AlmaLinux nei repository di produzione