Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
5Blast Radius
ecosystem impact- 144 npm packages depend on image-size (60 direct, 84 indirect)
Ecosystem-wide dependent count for version 2.0.2.
DescriptionCVE.org
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 ICNS image buffer. Attackers can craft an ICNS buffer containing valid magic bytes and a zero-valued entry length field to trigger an infinite loop in the ICNS parser, as the offset is never incremented when the entry length field is 0, causing the while loop condition to remain true indefinitely.
AnalysisAI
Denial of service in the image-size Node.js library (versions up to and including 2.0.2) allows remote unauthenticated attackers to permanently stall the Node.js event loop by submitting a malformed ICNS image. The flaw stems from an infinite loop in the ICNS parser when an entry length field is zero, and publicly available exploit code exists per VulnCheck and an independent write-up; no public exploit identified at time of analysis indicates active exploitation, but the POC makes weaponization trivial.
Technical ContextAI
image-size is a widely used npm package that detects image dimensions and format by parsing image headers, including the Apple Icon Image (ICNS) container format. ICNS files consist of a magic header followed by a series of typed entries, each declaring its own length; the parser walks these entries by advancing an offset using the declared length. CWE-835 (Loop with Unreachable Exit Condition) applies because the ICNS parser uses the entry-length field both as the loop's progress counter and as untrusted input - if an attacker supplies a length of zero, the offset never advances and the while-loop condition (offset < buffer end) remains true forever, blocking the single-threaded Node.js event loop. The affected CPE cpe:2.3:a:image-size:image-size confirms the upstream JavaScript package as the vulnerable component, not a downstream fork.
RemediationAI
Upgrade to the patched release of image-size that incorporates pull request #439 from https://github.com/image-size/image-size/pull/439; an upstream fix is available (PR/commit), but a specific released patched version number is not independently confirmed in the supplied data, so verify the current npm release notes before pinning. As an interim workaround when an immediate upgrade is not possible, reject ICNS inputs at the application boundary (for example, by checking the magic bytes 'icns' and refusing that container type) or enforce a strict allow-list of formats such as PNG/JPEG/WebP - this eliminates the parser path entirely at the cost of dropping legitimate macOS icon uploads. Additionally, run image parsing in a worker thread or child process with a hard wall-clock timeout so a single hung parse cannot take down the main event loop, accepting the modest latency and memory overhead of process isolation. Consult the VulnCheck advisory at https://www.vulncheck.com/advisories/image-size-denial-of-service-via-malformed-icns-image-parsing for additional vendor guidance.
A vulnerability in the NuPoint Unified Messaging (NPM) component of Mitel MiCollab through 9.8 SP1 FP2 (9.8.1.201) could
FortiOS and FortiProxy contain an authentication bypass via the Node.js websocket module allowing unauthenticated remote
Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour
Eval injection vulnerability in the internals.batch function in lib/batch.js in the bassmaster plugin before 1.5.2 for t
Flowise version 3.0.5 contains a remote code execution vulnerability in the CustomMCP node. The mcpServerConfig paramete
Node.js 8.5.0 before 8.6.0 allows remote attackers to access unintended files, because a change to ".." handling was inc
An issue was discovered in the node-serialize package 0.0.4 for Node.js. Rated critical severity (CVSS 9.8), this vulner
OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h does not properly restrict processing of ChangeCiph
Directory traversal vulnerability in the st module before 0.2.5 for Node.js allows remote attackers to read arbitrary fi
Multiple SQL injection vulnerabilities in the Manage Accounts page in the AccountManagement.asmx service in the Solarwin
The JS-YAML module before 2.0.5 for Node.js parses input without properly considering the unsafe !!js/function tag, whic
The AES-NI implementation in OpenSSL before 1.0.1t and 1.0.2 before 1.0.2h does not consider memory allocation during a
Same technique Denial Of Service
View allVendor StatusVendor
SUSE
Severity: Moderate| Product | Status |
|---|---|
| SUSE Linux Enterprise Micro 5.3 | Not-Affected |
| SUSE Linux Enterprise Micro 5.3 | Not-Affected |
| SUSE Linux Enterprise Micro 5.4 | Not-Affected |
| SUSE Linux Enterprise Micro 5.4 | Not-Affected |
| SUSE Linux Enterprise Micro 5.5 | Not-Affected |
| SUSE Linux Enterprise Micro 5.5 | Not-Affected |
| SUSE Linux Enterprise Server 16.0 | Not-Affected |
| SUSE Linux Enterprise Server 16.0 | Not-Affected |
| SUSE Linux Enterprise Server 16.1 | Not-Affected |
| SUSE Linux Enterprise Server 16.1 | Not-Affected |
| SUSE Linux Enterprise Server for SAP applications 16.0 | Not-Affected |
| SUSE Linux Enterprise Server for SAP applications 16.0 | Not-Affected |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Not-Affected |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Not-Affected |
| SUSE Linux Micro 6.0 | Not-Affected |
| SUSE Linux Micro 6.0 | Not-Affected |
| SUSE Linux Micro 6.1 | Not-Affected |
| SUSE Linux Micro 6.1 | Not-Affected |
| SUSE Linux Micro 6.2 | Not-Affected |
| SUSE Linux Micro 6.2 | Not-Affected |
| openSUSE Leap 16.0 | Not-Affected |
| openSUSE Leap 16.0 | Not-Affected |
| openSUSE Leap Micro 5.5 | Not-Affected |
Share
External POC / Exploit Code
Leaving vuln.today
EUVD-2025-210105
GHSA-w3rx-r6r6-pgpr