CVE-2025-71330: image-size 2.0.2 Denial of Service via Malformed ICNS Image Parsing
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.
Security readout for executives and security teams
Plain-English summary
A malicious ICNS image can make a Node.js service using image-size stop processing work by locking the event loop. The business impact is availability: affected upload, scanning, proxy, or metadata services may hang until restarted or isolated.
Executive priority
Treat as a high-priority availability risk for internet-facing image workflows. Prioritize exposed upload and media-processing services first, then internal pipelines that process third-party content.
Technical view
image-size through 2.0.2 is reported vulnerable to CWE-835 in ICNS parsing. A malformed ICNS buffer with valid magic bytes and a zero entry length leaves the parser offset unchanged, causing an infinite loop and permanent Node.js event-loop blockage.
Likely exposure
Exposure is most likely in Node.js applications that run image-size against attacker-supplied images, remote URLs, uploads, attachments, or media metadata pipelines. Version evidence is inconsistent: the bundle says through 2.0.2, while affected entries list 1.1.0 and 2.0.0.
Exploitation context
The CVSS vector indicates network exploitation, low complexity, no privileges, no user interaction, and high availability impact. The bundle includes public technical details, but KEV is false and no cited source confirms active exploitation in the wild.
Researcher notes
Do not assume broad compromise: this is an availability flaw, not confidentiality or integrity impact in the cited CVSS. Exact affected-version boundaries need confirmation from vendor records because the provided data conflicts.
Mitigation direction
Check image-size vendor guidance for the fixed or recommended version.
Upgrade or replace vulnerable image-size deployments once a vendor-supported fix is confirmed.
Avoid passing untrusted ICNS files or buffers to vulnerable parsing paths.
Apply request isolation, worker timeouts, and restart supervision around image processing.
Limit unauthenticated upload and remote-image ingestion where business requirements allow.
Validation and detection
Inventory package-lock, yarn.lock, pnpm-lock, and SBOMs for image-size versions.
Find services that parse uploaded, attached, proxied, or crawled images.
Confirm whether ICNS inputs can reach image-size without trusted preprocessing.
Review monitoring for event-loop stalls or hung image-processing workers.
Track vendor advisory and CVE updates for version-specific correction details.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · low confidence lookup
CWE-835: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-835 · source CWE mapping
Loop with Unreachable Exit Condition ('Infinite Loop')
Loop with Unreachable Exit Condition ('Infinite Loop') represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.