La decompressione è il processo di ripristino dei dati compressi alla loro forma originale. Il software lo fa quando estrae archivi, decodifica contenuti multimediali o espande payload di rete. Nel codice sensibile alla sicurezza, la decompressione avviene spesso su input controllato da un attaccante, il che significa che il parser deve fidarsi il meno possibile fino a quando dimensioni, offset e controlli di integrità non siano stati convalidati.
Questo è importante perché il codice di decompressione spesso alloca memoria e copia byte. Se calcola in modo errato una lunghezza, segue una struttura malformata o accetta metadati incoerenti, il risultato può essere overflow del buffer, letture fuori dai limiti o denial of service. I difensori trattano le routine di decompressione come una superficie di attacco ad alto rischio, quindi utilizzano sandboxing, fuzz testing, convalida rigorosa del formato e applicazione tempestiva delle patch. Anche un semplice archivio può diventare pericoloso se il decompressore lo gestisce in modo errato.


