CVE-2026-31988

yauzl (aka Yet Another Unzip Library) version 3.2.0 for Node.js contains an off-by-one error in the NTFS extended timestamp extra field parser within the getLastModDate() function. The while loop condition checks cursor < data.length + 4 instead of cursor + 4 <= data.length, allowing readUInt16LE() to read past the buffer boundary. A remote attacker can cause a denial of service (process crash via ERR_OUT_OF_RANGE exception) by sending a crafted zip file with a malformed NTFS extra field. This affects any Node.js application that processes zip file uploads and calls entry.getLastModDate() on parsed entries. Fixed in version 3.2.1.
Configurations

No configuration.

History

12 Mar 2026, 21:07

Type Values Removed Values Added
Summary
  • (es) yauzl (también conocida como Yet Another Unzip Library) versión 3.2.0 para Node.js contiene un error de off-by-one en el analizador del campo extra de marca de tiempo extendida NTFS dentro de la función getLastModDate(). La condición del bucle 'while' comprueba cursor &lt; data.length + 4 en lugar de cursor + 4 &lt;= data.length, permitiendo que readUInt16LE() lea más allá del límite del búfer. Un atacante remoto puede causar una denegación de servicio (caída del proceso a través de una excepción ERR_OUT_OF_RANGE) al enviar un archivo zip manipulado con un campo extra NTFS malformado. Esto afecta a cualquier aplicación Node.js que procesa cargas de archivos zip y llama a entry.getLastModDate() en las entradas analizadas. Corregido en la versión 3.2.1.

12 Mar 2026, 14:16

Type Values Removed Values Added
References () https://www.codeant.ai/security-research/yauzl-denial-of-service-zip-file-crash - () https://www.codeant.ai/security-research/yauzl-denial-of-service-zip-file-crash -

11 Mar 2026, 23:16

Type Values Removed Values Added
New CVE

Information

Published : 2026-03-11 23:16

Updated : 2026-03-12 21:07


NVD link : CVE-2026-31988

Mitre link : CVE-2026-31988

CVE.ORG link : CVE-2026-31988


JSON object : View

Products Affected

No product.

CWE
CWE-193

Off-by-one Error