CVE-2025-71319: 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
CVE-2025-71319 can let an unauthenticated remote user freeze a Node.js application that uses image-size to inspect certain image files. The issue is a denial of service, not data theft. Business impact depends on whether public uploads or external image processing reach this library.
Executive priority
Treat as urgent for public upload services, media platforms, and API gateways that process images. For internal-only use without untrusted image input, prioritize after confirming exposure. The main business risk is service outage from a small number of malicious requests.
Technical view
image-size through 2.0.2 is reported to enter an infinite loop in JXL or HEIF parsing when a recognized box has a zero size. This maps to CWE-835 and can block the Node.js event loop. The CVSS v4.0 score is 8.7, with network attack vector and high availability impact.
Likely exposure
Highest exposure is internet-facing Node.js services that accept user-supplied images and call image-size on JXL or HEIF content. The source data lists affected versions 1.1.0 and 2.0.0, while the description says through 2.0.2, so confirm exact dependency versions.
Exploitation context
The CVE record and advisories describe remote denial of service via crafted image input. The source bundle does not show CISA KEV listing or confirmed active exploitation. Public technical analysis exists, so vulnerable upload paths should be treated as realistically reachable.
Researcher notes
Key uncertainty is version scope: the narrative says through 2.0.2, while affected entries list 1.1.0 and 2.0.0. No source in the bundle names a fixed upstream version. Review PR 439, VulnCheck, CVE data, and Red Hat advisories for evolving remediation status.
Mitigation direction
Check image-size vendor guidance and apply a fixed release when identified.
Restrict or reject JXL and HEIF processing from untrusted uploads where feasible.
Run image parsing in isolated workers with timeouts and automatic restarts.
Add request size, type, and processing-time limits around image inspection paths.
Prioritize Red Hat errata review if using affected Red Hat-packaged components.
Validation and detection
Inventory Node.js services using image-size directly or transitively.
Check lockfiles, SBOMs, and containers for image-size versions.
Identify endpoints that parse untrusted JXL or HEIF images.
Confirm monitoring detects event-loop stalls and image-processing hangs.
Verify remediation in staging before enabling broad upload paths.
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.