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 ERROUTOF_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.
{
"github_reviewed_at": "2026-03-13T18:58:11Z",
"nvd_published_at": "2026-03-11T23:16:00Z",
"cwe_ids": [
"CWE-193"
],
"severity": "MODERATE",
"github_reviewed": true
}