CVE-2026-76845 in adm-zip
Résumé
par VulDB • 24/08/2026
adm-zip 0.5.9 à 0.6.0 suit les liens symboliques lors de l'extraction vers le répertoire cible. La fonction Utils.sanitize dans util/utils.js impose la confinement en comparant uniquement la forme textuelle du nom d'une entrée d'archive avec la racine résolue de l'extraction, et Utils.writeFileTo ouvre la destination calculée via fs.openSync(path, "w", 0o666), ce qui résout les liens symboliques et ne comporte ni O_NOFOLLOW ni une vérification préalable fs.lstatSync avant l'écriture. Lorsqu'un composant du chemin à la cible existe déjà sous forme de lien symbolique pointant en dehors de la racine d'extraction, extractAllTo, extractAllToAsync et extractEntryTo écrivent le contenu de l'entrée via ce lien puis modifient les permissions (chmod) de sa cible, plaçant ainsi un contenu contrôlé par l'attaquant dans un fichier situé hors de la racine sans qu'aucune séquence de traversal n'apparaisse dans l'archive. L'accès à l'écriture nécessite que le mode overwrite soit activé, car la vérification fs.existsSync précédente résout également le lien et refuse sinon l'opération. Un attaquant capable de créer un lien symbolique au sein d'un répertoire partagé, réutilisé ou prévisible pour l'extraction, tel qu'un répertoire temporaire ou un espace de travail d'intégration continue, peut écraser n'importe quel fichier que le processus d'extraction est autorisé à modifier.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.