CVE-2026-115908
Publiée le 2026-10-26 · Dernière modification le 2026-10-26
La bibliothèque Rust `zip` (versions 7.2.0 à 8.x) est utilisée par les développeurs pour lire et écrire des archives ZIP. La faille provient du fait que la bibliothèque valide les cibles des liens symboliques via une simple comparaison textuelle plutôt que de résoudre chaque lien de la chaîne. Cela permet à un fichier ZIP spécialement conçu de tromper le processus d'extraction pour écrire des fichiers en dehors du dossier de destination prévu.
Un attaquant peut utiliser cette vulnérabilité pour écraser des fichiers système ou implanter des binaires malveillants, compromettant ainsi l'intégrité et la disponibilité du serveur. L'exploitation ne nécessite ni authentification ni interaction de l'utilisateur, mais elle est techniquement difficile car l'attaquant doit être capable de deviner le chemin absolu où l'archive est extraite. Cela se produit généralement lorsqu'un serveur traite automatiquement des fichiers ZIP téléchargés.
DÉTAIL DU VECTEUR CVSS
RÉFÉRENCES
Description officielle du NVD (en anglais)
zip is a zip library for Rust that supports reading and writing simple ZIP files. From 7.2.0 until 9.0.0, ZipArchive::extract and ZipArchive::extract_unwrapped_root_dir use safe_prepare_path in src/read/zipfile.rs and simplified_components in src/path.rs to validate symbolic link targets with a lexical prefix comparison rather than resolving each intermediate link. An attacker who knows or can guess the absolute extraction destination can create a chain whose apparent target remains under the destination while an intermediate symlink resolves outside it, allowing attacker-controlled files to be created or overwritten with the extracting process's privileges. On Windows, discarded drive and UNC prefixes can permit a single-link escape when the process has SeCreateSymbolicLinkPrivilege, such as through administrator rights or Developer Mode. This regression is distinct from CVE-2025-29787. This issue is fixed in version 9.0.0.