CVE-2026-106070
Publiée le 2026-10-23 · Dernière modification le 2026-10-23
Node.js 26.x contient un bug dans l'API `zlib.ZipFile` utilisée pour la lecture d'archives ZIP. La faille survient lorsque l'en-tête local d'un fichier à l'intérieur de l'archive ne correspond pas au répertoire central, ce qui amène le système à mettre en cache un décalage (offset) incorrect. Par conséquent, les lectures suivantes renvoient des octets depuis le début du fichier plutôt que depuis l'entrée réellement demandée.
Un attaquant peut utiliser cela pour tromper un scanner basé sur Node.js et lui faire valider un contenu différent de celui qu'un extracteur ZIP standard déploierait réellement. Cela affecte l'intégrité en contournant les contrôles de sécurité, bien que cela nécessite une archive spécialement conçue et une séquence de lectures spécifique. L'exploit est complexe à exécuter et nécessite un accès réseau pour fournir le fichier, mais ne requiert ni authentification ni interaction de l'utilisateur.
DÉTAIL DU VECTEUR CVSS
RÉFÉRENCES
Description officielle du NVD (en anglais)
A flaw in the Node.js `zlib.ZipFile` API can cause it to return bytes that do not belong to the requested entry after the local and central header validation fails. When `zipEntry.modified` is read on an archive whose local header does not match its central directory, either directly or while compacting the archive, the validation error is caught but the parsed local header is left cached without a content offset. A later content read then returns attacker-controlled bytes from the start of the file instead of rejecting the archive, and CRC-32 verification still passes because the attacker controls the central directory CRC. A Node.js-based scanner can therefore approve different content from what another ZIP implementation extracts from the same archive. This vulnerability affects Node.js **26.x**.