CVE-2025-71329: image-size 2.0.2 Denial of Service via Infinite Loop in JXL/HEIF Parser
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.
Security readout for executives and security teams
Plain-English summary
A crafted image can make applications using image-size hang indefinitely. The business impact is availability: affected Node.js services that inspect untrusted JXL or HEIF images may stop responding until restarted or isolated.
Executive priority
Treat as high priority for internet-facing upload or image-processing services. The issue is not data theft, but a simple unauthenticated availability failure can disrupt customer workflows and require operational intervention.
Technical view
CVE-2025-71329 is a CWE-835 infinite-loop flaw in image-size through 2.0.2. A zero-valued box size in recognized JXL or HEIF parser input can prevent offset advancement, permanently blocking the Node.js event loop and causing denial of service.
Likely exposure
Highest exposure is in Node.js applications that run image-size on user-supplied uploads, URLs, attachments, or API-provided image buffers, especially where JXL or HEIF input is accepted.
Exploitation context
The bundle cites a public technical write-up and exploit-tagged reference, but does not state known active exploitation. CVE data lists network, low-complexity, unauthenticated exploitation with high availability impact.
Researcher notes
Evidence is strong for the bug class and impact, but the bundle has version ambiguity: the description says through 2.0.2, while affected entries list 1.1.0 and 2.0.0. Verify exact package range against vendor records.
Mitigation direction
Check image-size vendor guidance and releases for a fixed version before upgrading.
Restrict or reject untrusted JXL and HEIF inputs if not business-required.
Run image metadata parsing in an isolated worker or process that can be terminated.
Apply upload size, type, and queue limits around image inspection endpoints.
Monitor affected services for repeated hangs or forced restarts after image submissions.
Validation and detection
Inventory applications and lockfiles for image-size versions through 2.0.2.
Identify code paths that pass untrusted buffers, uploads, or remote images into image-size.
Confirm whether JXL or HEIF files are accepted by public or partner-facing endpoints.
Review dependency advisories and vendor issue tracking for fix status and affected version clarity.
Test remediation in staging with benign malformed-file regression cases only.
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.