CVE-2026-76845 in adm-zip
Zusammenfassung
von VulDB • 24.08.2026
In adm-zip dalle versioni 0.5.9 alla 0.6.0 vengono seguiti i link simbolici durante l'estrazione nella destinazione specificata. La funzione `Utils.sanitize` in `util/utils.js` impone il contenimento confrontando solo la forma testuale del nome di una voce dell'archivio con la radice risolta della directory di estrazione, mentre `Utils.writeFileTo` apre la destinazione calcolata tramite `fs.openSync(path, "w", 0o666)`, che risolve i link simbolici e non prevede né l'opzione `O_NOFOLLOW` né un controllo preventivo con `fs.lstatSync` prima della scrittura. Quando un componente del percorso nella destinazione esiste già come link simbolico puntante al di fuori della radice di estrazione, le funzioni `extractAllTo`, `extractAllToAsync` ed `extractEntryTo` scrivono il contenuto della voce attraverso tale link e successivamente modificano i permessi (`chmod`) dell'elemento target, inserendo contenuti controllati dall'attaccante in un file esterno alla radice senza che sia presente alcuna sequenza di traversal (path traversal) nell'archivio. Per raggiungere la fase di scrittura è necessario che l'opzione `overwrite` sia abilitata, poiché il controllo preventivo con `fs.existsSync` risolve anch'esso il link e, in caso contrario, rifiuta l'operazione. Un attaccante in grado di creare un link simbolico all'interno di una directory di estrazione condivisa, riutilizzata o prevedibile (ad esempio una directory temporanea o un ambiente di lavoro per la continuous integration) può sovrascrivere qualsiasi file che il processo di estrrazione ha i permessi necessari per scrivere.
If you want to get best quality of vulnerability data, you may have to visit VulDB.