Il 22 maggio 2026 GitHub Security Lab rende pubblica l'advisory GHSL-2026-140: una vulnerabilità di heap buffer overflow nel gestore NTFS di 7-Zip, tracciata come CVE-2026-48095 con punteggio CVSS 3.1 di 8.8. La rilevanza immediata sta in un dettaglio architetturale che ribalta un presupposto consolidato: il parser NTFS di 7-Zip instrada i file tramite signature-based fallback, ignorando completamente l'estensione. Un documento .pdf, un archivio .zip o un file senza estensione possono attivare la stessa catena di exploit. La patch, versione 26.01, è disponibile dal 27 aprile 2026.
- Il bug risiede nella funzione CInStream::GetCuSize() in NtfsHandler.cpp: uno shift a 32 bit con esponente pari a 32 genera undefined behavior che su x86 si traduce in allocazione di un buffer da 1 byte invece del previsto spazio per 256 MB di dati controllati dall'attaccante.
- L'exploit raggiunge l'esecuzione di codice arbitrario tramite vtable hijacking su sistemi 64-bit con almeno 16 GB di RAM; su hardware con memoria limitata l'impatto si riduce a denial of service o crash dell'applicazione.
- L'attacco è extension-agnostic: 7-Zip instrada qualsiasi file contenente il magic byte "NTFS " al gestore vulnerabile, rendendo inefficaci i filtri di sicurezza basati sulle estensioni.
- Il ricercatore Jaroslav Lobačevski ha pubblicato il PoC gen_ntfs_sparse.py; il fix 26.01 è stato rilasciato tre giorni dopo la segnalazione privata del 24 aprile 2026.
Il meccanismo: da uno shift errato alla completa compromissione
Il nucleo della falla è un calcolo di dimensione buffer in C++ che contiene l'espressione (UInt32)1 << (BlockSizeLog + CompressionUnit). Quando la somma degli esponenti raggiunge 32, lo shift a 32 posizioni di un intero a 32 bit genera undefined behavior. Su architettura x86, il masking hardware del contatore di shift lo azzera, producendo il valore 1: il buffer _inBuf viene allocato a 1 byte invece che alle dimensioni previste.
Il programma procede immediatamente con una chiamata ReadStream_FALSE che scrive fino a 256 MB di dati controllati dall'attaccante in quel singolo byte. Come documenta PBXScience, il primo ciclo di lettura di 64 KB è sufficiente a sovrascrivere il vtable pointer dell'oggetto CInStream, posizionato a 304 byte di distanza sul heap. Da qui il programma invoca metodi attraverso un vtable corrotto, conseguendo il controllo del flusso di esecuzione.
Perché l'estensione non protegge più
La logica di routing di 7-Zip non si affida alle estensioni per selezionare il parser. Quando un file presenta il magic byte "NTFS " in posizione appropriata, il gestore NTFS viene attivato indipendentemente dal nome o dall'estensione. Un allegato di posta elettronica denominato fattura.pdf, curriculum.docx o privo di estensione interagisce con la stessa superficie d'attacco di un file .ntfs legittimo.
Questa caratteristica annulla una convenzione radicata da decenni: l'utente finale e i sistemi di filtraggio enterprise si sono addestrati a considerare sicure determinate estensioni, o a bloccare altre. La segnalazione di SocPrime sottolinea esplicitamente che "il file malformato non necessita di un'estensione NTFS dedicata per raggiungere il gestore vulnerabile". Il filtro sulle estensioni diventa così un falso senso di sicurezza strutturale.
"With only a 1-byte buffer allocated, the program immediately invokes a ReadStream_FALSE call that writes up to 256 MB of attacker-controlled data into that single byte — a severe heap overflow." — PBXScience, advisory GHSL-2026-140
Condizioni di exploit: RCE o DoS dipende dall'hardware
La realizzabilità dell'exploit completo è condizionata dalle risorse della macchina target. Su sistemi 64-bit con almeno 16 GB di RAM, la catena di vtable hijacking conduce a esecuzione di codice arbitrario. Su dispositivi con memoria limitata, l'allocazione aggressiva o il fallimento delle operazioni di lettura producono crash o condizioni di denial of service senza raggiungere il controllo del flusso di esecuzione.
Questa biforcazione ha conseguenze operative concrete per gli ambienti enterprise: le workstation di analisi malware, tipicamente configurate con hardware performante e memoria abbondante, rappresentano le piattaforme più esposte alla compromissione completa. I sistemi legacy o i dispositivi endpoint con RAM ridotta subiscono impatti di disponibilità ma non espongono la stessa superficie di esfiltrazione o persistenza.
Timeline e disponibilità del fix
La segnalazione privata al maintainer Igor Pavlov è avvenuta il 24 aprile 2026. Il rilascio della versione 26.01, documentato sul sito ufficiale 7-zip.org con data 27 aprile 2026, ha richiesto tre giorni. L'advisory pubblico di GitHub Security Lab è stato pubblicato il 22 maggio 2026. Il PoC gen_ntfs_sparse.py, script Python per la generazione di immagini NTFS craftate, accompagna la divulgazione.
Le fonti convergenti identificano Jaroslav Lobačevski, ricercatore di GitHub Security Lab, come autore della scoperta. Il profilo Twitter @JarLob è citato nelle fonti primarie. Il punteggio CVSS 3.1 di 8.8, con vettore AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H, classifica la vulnerabilità come High: accesso network, complessità bassa, privilegi non richiesti, interazione utente necessaria (apertura file), impatto triade CIA alto su singolo sistema.
Cosa fare adesso
L'azione prioritaria è l'aggiornamento alla versione 26.01 per tutte le installazioni di 7-Zip, inclusi quelli integrati in pipeline automatizzate o strumenti di analisi malware. La patch è disponibile dal 27 aprile 2026 e corregge il calcolo della dimensione buffer in NtfsHandler.cpp.
I team di sicurezza devono valutare la rimozione o la sandboxing rigorosa di 7-Zip versione 26.00 e precedenti dagli strumenti di analisi automatica di file sospetti, data la combinazione di PoC pubblico e bassa complessità di attivazione. I filtri di gateway e-mail basati esclusivamente sulle estensioni devono essere integrati con analisi del contenuto binario, poiché la vulnerabilità invalida il presupposto che estensioni non-NTFS siano intrinsecamente sicure.
Gli analisti SOC devono segnalare crash anomali di 7-Zip su workstation con elevata dotazione RAM come potenziali indicatori di tentativo di exploit, non solo come instabilità applicativa. I sistemi automatizzati che processano archivi esterni, inclusi quelli nella supply chain, richiedono verifica della versione in uso e isolamento dell'ambiente di estrazione.
Gli utenti finali devono aggiornare 7-Zip attraverso il canale ufficiale e trattare qualsiasi file ricevuto via e-mail o download con la stessa cautela, indipendentemente dall'estensione visibile.
La fine di un paradigma
La vulnerabilità CVE-2026-48095 non è tecnicamente un container escape né una compromissione del kernel, ma la sua efficacia deriva da una rottura più profonda: l'estensione del file come segnale di confidenza. Trent'anni di abitudini utente, policy aziendali e regole di filtraggio si fondano su un presupposto che 7-Zip, per design architetturale, ignora. Il parser signature-based è una scelta razionale per un archiviatore universale, ma in questa configurazione diventa un vettore di bypass sistematico.
La rapidità del fix — tre giorni dalla segnalazione — testimonia la severità percepita dal maintainer. La disponibilità del PoC pubblico, combinata con la bassa barriera di attivazione (apertura file), colloca questa vulnerabilità in una fascia di rischio immediato per le organizzazioni che non abbiano ancora distribuito la 26.01. Il 22 maggio 2026 segna il punto in cui il controllo sulle estensioni è formalmente obsoleto come difesa primaria.
Le informazioni sono state verificate sulle fonti citate e aggiornate al momento della pubblicazione.
Fonti
- https://socprime.com/blog/cve-2026-48095-7-zip-heap-overflow-flaw/
- https://pbxscience.com/upgrade-immediately-7-zip-cve-2026-48095-enables-arbitrary-code-execution-via-ntfs-heap-overflow/
- https://tdm.socprime.com/zeptolink/DUSlXv2Ci8Z8eqet/
- https://www.7-zip.org/download.html