Description
image-size through 2.0.2 contains a denial of service vulnerability that allows remote attackers to permanently block the Node.js event loop by supplying a specially crafted image buffer with a zero-valued size field in a recognized box-type. Attackers can trigger an infinite loop in the JXL or HEIF image parsers by providing a crafted image containing a box with a size of zero, causing the offset to never advance and permanently hanging the application.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| image-size | image-size | 1.1.0 – ≤ 1.2.1, 2.0.0 – ≤ 2.0.2 | — |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| npm | image-size | >= 1.1.0, < 1.2.1 | 1.2.1 | GHSA-m5qc-5hw7-8vg7 |
| npm | image-size | >= 2.0.0, < 2.0.2 | 2.0.2 | GHSA-m5qc-5hw7-8vg7 |
References
- https://joshua.hu/image-size-infinite-loop-dos-vulnerabilities technical-description exploit
- https://web.archive.org/web/20260224152152/https://github.com/image-size/image-size/pull/439 issue-tracking patch
- https://www.vulncheck.com/advisories/image-size-denial-of-service-via-infinite-loop-in-jxl-heif-parser third-party-advisory