
Archivio ZIP malformato che elude il rilevamento antivirus dichiarando Method=0 (stored) pur contenendo un payload compresso con DEFLATE.
Tecnica di confusione del formato ZIP che elude il 98% dei motori antivirus.
CVE-2026-0866 | VU#976247 | Pubblicato il 10 marzo 2026
Crea un file ZIP dove:
Compression Method = 0 (STORED)
Actual data = DEFLATE compressed
CRC-32 = Checksum of uncompressed payload
AV Engine: Reads Method 0 → Scans compressed noise → No detection
Attacker: Ignores Method field → Decompresses as DEFLATE → Recovers payload
| File | Tecnica | VirusTotal |
|---|---|---|
| baseline.zip | ZIP valido | 55/67 |
| method_mismatch.zip | Zombie ZIP | 1/66 |
98% di elusione. Stesso payload. Stessi byte. Contenitore diverso.
# Generate a Zombie ZIP
python3 zombie_zip.py
# Upload method_mismatch.zip to VirusTotal
# Observe 1/51 detection vs 55/67 for baseline
# Recover payload programmatically
python3 loader_poc.py method_mismatch.zip
# Outputs byte-identical EICAR (SHA-256: 275a021b...)
Container.py generalizza la tecnica Zombie ZIP in un packer/unpacker autonomo per file arbitrari utilizzando il formato .cpack.
Container.py prende qualsiasi file, comprime il suo contenuto con DEFLATE e lo scrive in un archivio ZIP dichiarato come STORED (Method=0). Il risultato è un file .cpack — un formato contenitore non ufficiale che protegge il contenuto dei file da ispezioni.
A differenza del PoC originale di Zombie ZIP, il CRC in un file .cpack è calcolato sui byte compressi (DEFLATE), non sul payload originale. Ciò significa che l'archivio è strutturalmente valido — nessun errore CRC, nessun flag di corruzione. Il contenuto è semplicemente opaco per qualunque cosa non sia l'unpacker.
| File | Tecnica | VirusTotal |
|---|---|---|
| eicar.com | Payload EICAR grezzo | 55/67 |
| eicar.com.cpack | Impacchettato con Container | 0/62 |
0/62. L'unico file che ogni motore antivirus sulla Terra è specificamente progettato per rilevare, reso invisibile.
# Requires PyQt6
pip install PyQt6
# Launch the GUI
python3 Container.py
filename.cpack (impacchettato).cpack → recupera il file originale (estratto)La tecnica sottostante è stata dichiarata da più parti come non problematica in termini di sicurezza. Il CERT/CC ha stabilito il 18 marzo 2026 che la tecnica Zombie ZIP "non costituisce una vulnerabilità valida" e "non bypassa né impatta alcun controllo di sicurezza implicito o esplicito." Cisco l'ha classificata come "suggerimento di hardening." Diversi ricercatori hanno dichiarato pubblicamente che questa non è una vulnerabilità.
Dal momento che è stato dichiarato un non-problema, questo strumento ti permette semplicemente di proteggere i tuoi file e dati da controlli utilizzando una tecnica senza implicazioni di sicurezza.
0/62 su EICAR suggerisce che le implicazioni potrebbero essere state sottovalutate.
zombie_zip.py - Script generatoremethod_mismatch.zip - PoC pre-generato con EICARbaseline.zip - ZIP valido per confrontoloader_poc.py - Dimostra il recupero programmatico del payloadContainer.py - Packer/unpacker GUI per file arbitrari (formato .cpack)I motori antivirus si fidano del campo Method del formato ZIP. Quando Method=0 (STORED), scansionano i dati come byte grezzi non compressi. Ma i dati sono in realtà compressi con DEFLATE — quindi lo scanner vede rumore compresso e non trova firme.
Nel PoC originale di Zombie ZIP, il CRC è impostato sul checksum del payload non compresso, creando una discordanza che porta gli strumenti di estrazione standard (7-Zip, unzip, WinRAR) a segnalare errori o a estrarre output corrotto.
Container.py evita tutto questo. Poiché zipfile.ZipFile calcola il CRC sui byte scritti (i dati compressi con DEFLATE), il CRC corrisponde a quanto archiviato. Gli strumenti standard aprono l'archivio senza errori. Estraggono il rumore compresso correttamente. Nessun errore CRC. Nessun flag di corruzione. L'AV scansiona il rumore e restituisce esito pulito.
Tuttavia, un loader appositamente progettato che decompatta i dati archiviati come DEFLATE recupera perfettamente il payload. La funzione di unpack di Container.py lo dimostra — standard zlib.decompressobj con DEFLATE grezzo (wbits=-15).
La vulnerabilità è l'elusione dello scanner: i controlli di sicurezza affermano "nessun malware presente" mentre il malware è presente e banalmente recuperabile.
Questa non è una vulnerabilità di estrazione lato utente finale. È una tecnica di consegna a fasi / contrabbando (smuggling):
.cpackQuesto è coerente con i modelli consolidati di distribuzione di malware (smuggling ISO, smuggling HTML, abuso di CAB) in cui gli attaccanti usano loader personalizzati piuttosto che strumenti di estrazione consumer.
.cpack.Chris Aziz - Bombadil Systems
MIT - Solo per ricerca di sicurezza autorizzata.