CVE-2026-76845 in adm-zip
Resumen
por VulDB • 2026-08-24
adm-zip 0.5.9 hasta la versión 0.6.0 sigue los enlaces simbólicos en el destino de extracción. `Utils.sanitize` en `util/utils.js` aplica el aislamiento comparando únicamente la forma en cadena del nombre de una entrada del archivo ZIP con la raíz resuelta de la extracción, y `Utils.writeFileTo` abre el destino calculado mediante `fs.openSync(path, "w", 0o666)`, lo que resuelve los enlaces simbólicos y no incluye ni la bandera `O_NOFOLLOW` ni una comprobación previa de escritura con `fs.lstatSync`. Cuando un componente de ruta en el destino ya existe como un enlace simbólico que apunta fuera de la raíz de extracción, las funciones `extractAllTo`, `extractAllToAsync` y `extractEntryTo` escriben el contenido de la entrada a través de ese enlace y luego ejecutan `chmod` sobre su objetivo, colocando contenido controlado por el atacante en un archivo fuera del directorio raíz sin que aparezca ninguna secuencia de travesía (path traversal) en el archivo ZIP. Para alcanzar la escritura es necesario que esté habilitada la sobrescritura, ya que la comprobación previa `fs.existsSync` también resuelve el enlace y, en caso contrario, rechaza la operación. Un atacante capaz de crear un enlace simbólico dentro de un directorio de extracción compartido, reutilizado o predecible (como un directorio temporal o un espacio de trabajo de integración continua) puede sobrescribir cualquier archivo al que el proceso de extracción tenga permiso para escribir.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.