What’s Vulnerable › Vulnerabilities
CVE-2026-31988: yauzl 3.2.0 - Denial of Service via Off-by-One Error in NTFS Timestamp Parser
- Severity: medium (CVSS 5.3 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.5% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2026-03-11 · updated 2026-06-17
- Weakness: CWE-193
Description
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.
Affected products
- thejoshwolfe yauzl: from 3.2.0 before 3.2.1 — fixed in 3.2.1
How to fix
Upgrade to a fixed version: thejoshwolfe yauzl 3.2.1. Check the vendor advisory for mitigations.
References
- https://github.com/thejoshwolfe/yauzl/commit/c4695215b05c6adffda613b9051a2a85429b33fe
- https://www.codeant.ai/security-research/yauzl-denial-of-service-zip-file-crash
- https://www.npmjs.com/package/yauzl
- https://www.vulncheck.com/advisories/yauzl-denial-of-service-via-off-by-one-error-in-ntfs-timestamp-parser
- https://www.codeant.ai/security-research/yauzl-denial-of-service-zip-file-crash
Get alerted when CVE-2026-31988 or the next vulnerability affects your stack