Ricevi DeafLetter
Una selezione settimanale di segnali, vulnerabilità e guide. Gli avvisi critici restano facoltativi.
Puoi cancellarti in ogni momento. Privacy policy.
Il 14 settembre 2026, Zero Day Initiative ha pubblicato l'advisory ZDI-26-696 che documenta una vulnerabilità nel driver NTFS3 del Linux Kernel. La falla, identificata come CVE-2026-72196 con punteggio CVSS 8.4 (HIGH), permette a un attaccante locale con accesso a codice a basso privilegio di eseguire codice arbitrario nel contesto del kernel. Il percorso di attacco sfrutta il replay del journal NTFS3 durante il mount di un filesystem malformato, un componente attivato automaticamente quando il kernel ricostruisce lo stato transazionale di un volume NTFS potenzialmente ostile.
- La vulnerabilità CVE-2026-72196 è un heap-based buffer overflow nel driver NTFS3 del Linux Kernel, con CVSS 8.4 (HIGH) secondo il record CVE ufficiale.
- L'attacco richiede solo codice a basso privilegio locale e si attiva sul percorso di mount, quando il kernel esegue il replay del journal NTFS3.
- La root cause è in
log_replay():find_dp()valida solo il primo cluster di un log record header, ma il ciclocopy_lcnsnon è limitato dadp->lcns_follow. - Il fix, committato da Konstantin Komarov con assistenza di Michael Bommarito, aggiunge il controllo
j + lrh->lcns_follow <= dp->lcns_follow; la patch è complementare a una precedente correzione di Pavitra Jha del maggio 2026.
Il meccanismo: come il journal replay diventa vector di attacco
Il driver NTFS3, introdotto nel kernel Linux per offrire supporto nativo ai filesystem Windows NTFS, gestisce il journal ($LogFile) per garantire la consistenza transazionale. Quando un volume NTFS viene montato, il kernel esegue il replay dei log records pendenti per ricostruire lo stato dirty del filesystem. Questo percorso, eseguito in modalità kernel, è implicitamente trusted: processa strutture dati dal disco senza l'intermediazione di uno user-space validator.
Secondo il record CVE ufficiale, la funzione find_dp() verifica che target_vcn rientri nell'intervallo [dp->vcn, dp->vcn + dp->lcns_follow), garantendo solo che il primo cluster del log record header sia coperto dalla DIR_PAGE_ENTRY. Tuttavia, il ciclo successivo copy_lcns che scorre lrh->lcns_follow non è vincolato dalla dimensione dp->lcns_follow dell'array page_lcns[] allocato dinamicamente.
Per un log record header malformato con target_vcn = dp->vcn + dp->lcns_follow - 1 e lrh->lcns_follow > 1, le iterazioni con indice i > 0 generano scritture oltre i confini dell'heap buffer. Il record CVE documenta la riproduzione sotto UML+KASAN su mainline 8d90b09e6741 come "slab-out-of-bounds write di size 8" da log_replay+0x68d4 sul percorso di mount.
Dalla corruzione di memoria all'esecuzione nel kernel
La scrittura controllata di puntatori a cluster (ogni entry è 8 byte) oltre i limiti dell'heap slab offre primitive potenziali per la manipolazione di oggetti adiacenti. In un kernel Linux con allocator slab, la sovrascrittura di metadati di oggetto successivo — puntatori a funzione, lunghezze buffer, o strutture di controllo — può tradursi in code execution nel contesto privilegiato del kernel. L'advisory ZDI enuncia questo impatto in termini diretti: "arbitrary code on affected installations of Linux Kernel."
Il vettore di attacco è strettamente locale (AV:L nel vector CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H), ma con condizioni di accesso minimizzate: nessun privilegio richiesto (PR:N), nessuna interazione utente (UI:N). Un attaccante con accesso anche a un account non privilegiato può preparare un'immagine NTFS malformata, montarla — o indurre il sistema a montarla — e innescare il percorso vulnerabile.
"This vulnerability allows local attackers to execute arbitrary code on affected installations of Linux Kernel. An attacker must first obtain the ability to execute low-privileged code on the target system in order to exploit this vulnerability." — Advisory ZDI-26-696
Un pattern ricorrente: la seconda falla nel journal NTFS3 in quattro mesi
La patch che corregge CVE-2026-72196 è esplicitamente complementare a una modifica precedente di Pavitra Jha, datata 2 maggio 2026, che affrontava un percorso diverso nella conversione version-0 dirty-page-table. Questa sequenza — due vulnerabilità nel medesimo sottosistema di log replay in un intervallo di circa quattro mesi — suggerisce una superficie di attacco sistematicamente sottovalutata nel design del driver NTFS3.
Il commit di fix, 29 aggiunte e 17 rimozioni nel file fs/ntfs3/fslog.c, introduce il controllo mancante: j + lrh->lcns_follow <= dp->lcns_follow. La semplicità della correzione evidenzia la profondità dell'oversight originale: un singolo bounds check non implementato nel ciclo di copia, con conseguenze che attraversano tutti i layer di sicurezza del kernel fino all'esecuzione arbitraria.
Il tempo tra la segnalazione al vendor (7 maggio 2026) e il rilascio coordinato (14 settembre 2026) è di circa 4 mesi. Questa finestra, standard per il processo di disclosure coordinata di ZDI, ha lasciato le installazioni esposte per l'intero periodo estivo senza advisory pubblico.
Cosa fare adesso
- Verificare che il kernel in uso includa il commit
5e7b598660cfa8e5af172cf4c65cffc126333307o equivalente backport nelle release stabili della propria distribuzione. - Limitare il mount automatico di volumi NTFS da fonti non fidate, in particolare su sistemi multi-user dove account a basso privilegio possono preparare filesystem malformati.
- Controllare che le policy di
fstabo di automount non permettano mount NTFS senza intervento amministrativo su workstation condivise o server accessibili a utenti non privilegiati. - Monitorare i changelog delle distribuzioni per l'inclusione di CVE-2026-72196 nelle prossime release di sicurezza, dato che il record CVE indica correzioni in multiple versioni senza elencarle esplicitamente.
Lettura: perché i driver filesystem restano un perimetro critico
La storia del driver NTFS3 ripropone un pattern consolidato nella sicurezza del kernel: i parser di formato filesystem, eseguiti in modalità privilegiata su dati non trusted provenienti da dispositivi removibili o immagini arbitrarie, costituiscono un confine architetturale fragile. Il principio di最小特权 (least privilege) non si applica al codice del kernel, che per definizione opera al di sopra di ogni isolamento user-space.
La duplice falla nel journal replay — maggio e settembre 2026 — indica che il codice path di recupero transazionale NTFS3 non ha ricevuto la stessa attenzione di hardening dedicata ai path di I/O normale. Per amministratori e distributori, il messaggio è pragmatico: il supporto NTFS su Linux è funzionalmente maturo, ma la sua superficie di attacco kernel-level richiede trattamento paritetico a qualsiasi altro componente critico per la sicurezza del sistema.
L'identità del ricercatore che ha scoperto la vulnerabilità non emerge dall'advisory ZDI. Non sono documentate sovrapposizioni infrastrutturali che colleghino questa scoperta ad altre campagne o attori noti. Il dossier non specifica la presenza di exploit in-the-wild o la distribuzione di immagini NTFS malevole in scenari reali.
Fonti
- http://www.zerodayinitiative.com/advisories/ZDI-26-696/
- https://www.cve.org/CVERecord?id=CVE-2026-72196
- http://www.zerodayinitiative.com/advisories/upcoming/
- https://github.com/torvalds/linux/commit/5e7b598660cfa8e5af172cf4c65cffc126333307
- https://www.trendmicro.com/
Le informazioni sono state verificate sulle fonti citate e aggiornate al momento della pubblicazione.
Fonti
Ricevi DeafLetter
Una selezione settimanale di segnali, vulnerabilità e guide. Gli avvisi critici restano facoltativi.
Puoi cancellarti in ogni momento. Privacy policy.