Il 16 giugno 2026 è stato assegnato CVE-2026-46331 a una vulnerabilità nel sottosistema traffic-control del kernel Linux. Entro 24 ore, un exploit pubblico e funzionante ha dimostrato l'escalation a root corrompendo la copia in memoria di /bin/su, senza lasciare traccia su disco. Il fix era stato pubblicato a fine maggio sulla netdev mailing list come patch routine anti-corruzione dati, senza CVE né avviso di sicurezza.
- CVE-2026-46331 è un out-of-bounds write in
act_peditche sfrutta un difetto nel calcolo del range copy-on-write per scrivere sulla page cache condivisa anziché su copia privata. - L'exploit avvelena la copia in memoria di binari setuid come
/bin/su: i controlli di integrità su disco risultano puliti mentre una shell root è già aperta. - La vulnerabilità richiede
act_peditcaricabile e user namespace non privilegiati aperti, condizione predefinita su RHEL 10 e Debian 13 (trixie). - Il fix è stato pubblicato sulla netdev mailing list a fine maggio 2026 senza classificazione di sicurezza, esponendo il dettaglio exploitabile per settimane.
Come funziona il bug nel motore pedit
La funzione tcf_pedit_act() nel sottosistema traffic-control del kernel Linux calcola il range copy-on-write (COW) una sola volta, prima del loop che elabora le singole chiavi di modifica pacchetto. Questo calcolo usa tcfp_off_max_hint, un valore massimo stimato che non include l'offset header runtime aggiunto dalle chiavi di tipo "typed".
Quando l'offset effettivo di scrittura supera il range COW calcolato in anticipo, il kernel scrive direttamente sulla page cache condivisa invece che su una copia privata del buffer. Secondo il record CVE-2026-46331 pubblicato da NVD, questo lascia parte della regione di scrittura "un-COW'd", ovvero modificabile sulle pagine condivise tra più processi.
La correzione, come documentato nel record NVD, sposta skb_ensure_writable() dentro il per-key loop, dove l'offset effettivo è noto, aggiungendo verifica di overflow. Prima di questa modifica, il calcolo anticipato rendeva il bug deterministico e riproducibile per un attaccante che controllasse i parametri delle regole tc.
Dalla patch silenziosa all'exploit in 24 ore
La sequenza temporale rivela un gap critico nel coordinamento della sicurezza kernel. A fine maggio 2026, il fix è stato sottomesso alla netdev mailing list con descrizione che ne mascherava la natura exploitabile: "routine data-corruption patch". Il dettaglio tecnico — un offset runtime che supera il range COW — è rimasto pubblico per settimane senza CVE né advisory.
"The fix landed on the netdev mailing list in late May, framed as a routine data-corruption patch. The exploitable detail sat on a public mailing list for weeks. No CVE, no security warning." — The Hacker News
L'assegnazione CVE è avvenuta il 16 giugno 2026, con merge del fix nello stesso giorno. Entro 24 ore, un exploit pubblico ha dimostrato la weaponizzazione pratica. Questa velocità di conversione da patch silenziosa a exploit funzionante solleva questioni sul processo di coordinamento tra manutenzione kernel e security response.
Il vettore d'attacco: user namespace e CAP_NET_ADMIN
L'exploit richiede che l'attaccante configuri regole tc pedit, operazione che necessita della capability CAP_NET_ADMIN. Su sistemi con user namespace non privilegiati aperti — configurazione predefinita su RHEL 10 e Debian 13 (trixie) — un utente locale ottiene questa capability nel proprio namespace senza privilegi di root effettivi.
Secondo la fonte, l'exploit è stato testato con successo su RHEL 10 e Debian 13. Ubuntu 24.04 richiede una deviazione attraverso profili AppArmor che permettono ancora user namespace; Ubuntu 26.04 blocca il percorso di default. Debian ha corretto la versione trixie, mentre Debian 11 e 12 risultano vulnerabili. Ubuntu elenca release supportate dalla 18.04 alla 26.04 come vulnerabili al 25 giugno. Red Hat elenca RHEL 8, 9, 10 come affetti; RHEL 7 non compare nell'elenco.
"The exploit never touches the file on disk. It poisons the cached copy of a setuid root binary (/bin/su) in memory, injects a small payload, and runs that altered image as root. File-integrity checks come back clean while a root shell is already open." — The Hacker News
Perché è importante
La capacità di ottenere root corrompendo binari in memoria senza lasciare traccia su disco rende CVE-2026-46331 particolarmente insidiosa per i controlli di integrità tradizionali: file system read-only, AIDE, Tripwire o rpm/deb verification segnalano tutti file intatti. L'attacco opera interamente nel dominio della memoria volatile.
Il brief non documenta misure correttive specifiche indicate dal vendor. Non è chiaro se l'exploit sia stato osservato in attacchi reali oltre al proof-of-concept pubblicato. L'intervallo esatto di versioni kernel affette non è enumerato nelle fonti primarie: NVD indica il commit del fix ma non un range completo. Il CVSS non è stato ancora assegnato da NVD; Red Hat classifica la vulnerabilità come "important", ma non specifica un valore numerico nelle fonti disponibili.
La fonte non specifica la natura completa dei dati esposti oltre alla corruzione di /bin/su in memoria. Non è confermato se container escape sia praticamente realizzabile con questa specifica vulnerabilità: la fonte windowsnews.ai discute il rischio come teorico, non come sfruttamento dimostrato.
Il pattern COW poisoning e il contesto più ampio
Il meccanismo di attacco — page cache poisoning via fallimento COW — non è isolato. CVE-2026-31431, denominata "Copy Fail" e documentata da Microsoft ed ExtraHop, sfrutta un pattern analogo nel sottosistema crypto AF_ALG per ottenere root con lo stesso principio di base: scrivere su pagine condivise che il kernel crede private. Le due vulnerabilità sono distinte: pedit COW opera nel sottosistema traffic-control, Copy Fail nel sottosistema crittografico.
Questa convergenza di tecniche suggerisce che il pattern COW poisoning meriti attenzione sistematica nella revisione del codice kernel, non solo nella correzione dei singoli bug. Tuttavia, questa lettura è editoriale: il brief non documenta iniziative di auditing generalizzate.
FAQ
- Perché il fix non ha ricevuto subito un CVE?
- Secondo la fonte, la patch è stata presentata come correzione di routine per corruzione dati, senza che il manutentore o il sottoscrittore ne riconoscessero la rilevanza per la sicurezza. Il CVE è stato assegnato solo il 16 giugno, quando un ricercatore ha evidenziato la weaponizzabilità.
- I controlli di integrità su disco rilevano l'attacco?
- No. L'exploit modifica la copia in cache del binario in memoria, non il file su disco. Ogni verifica post-attacco basata su checksum del file system risulta pulita.
- Bloccare user namespace impedisce l'attacco?
- Secondo la fonte, sì: senza user namespace non privilegiati, l'attaccante non ottiene
CAP_NET_ADMINnecessario a configurare le regoletc pedit. Tuttavia, questa misura interrompe funzionalità come rootless containers e browser sandboxed, creando tensione tra sicurezza e operatività che il brief non risolve.
Fonti
- https://thehackernews.com/2026/06/new-linux-pedit-cow-exploit-enables.html
- https://www.wiu.edu/cybersecuritycenter/cybernews.php
- https://windowsnews.ai/article/linux-kernel-patches-cve-2026-46331-netsched-pedit-bug-could-corrupt-page-cache.428355
- https://www.microsoft.com/en-us/security/blog/2026/05/01/cve-2026-31431-copy-fail-vulnerability-enables-linux-root-privilege-escalation/
- https://www.extrahop.com/blog/linux-kernel-local-privilege-escalation
- https://nvd.nist.gov/vuln/detail/CVE-2026-46331
- https://nvd.nist.gov/vuln/detail/CVE-2026-31431
- https://nvd.nist.gov/vuln/detail/CVE-2026-31431&sa=D&source=editors&ust=1777915091116933&usg=AOvVaw2mnx7UwEjXkUNxIM5K9s23
- https://cert.europa.eu/publications/security-advisories/2026-005/&sa=D&source=editors&ust=1777915091117714&usg=AOvVaw18xI3V9wdfADb-tICRQQK6
Le informazioni sono basate sulla fonte citata e aggiornate al momento della pubblicazione.