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
Applications using image-size to inspect attacker-controlled JXL or HEIF images may freeze completely. A malformed image can trap the single Node.js event loop in endless processing, stopping that application instance from serving legitimate users until it is restarted.
Executive priority
Treat as a high-priority availability risk for public image-processing services. Remediate exposed production paths promptly because one unauthenticated request may stall an application instance. Lower priority is reasonable only after confirming image-size is absent, unaffected, or unreachable from untrusted JXL and HEIF inputs.
Technical view
CVE-2025-71319 is a CWE-835 infinite-loop flaw in image-size’s JXL and HEIF box parsing. A recognized box with a zero size prevents the parser offset from advancing. Network exploitation requires an application path that passes untrusted image buffers to affected parsing code. The supplied CVSS 4.0 score is 8.7, reflecting high availability impact without confidentiality or integrity impact.
Likely exposure
Highest exposure exists in internet-facing Node.js services that accept or retrieve untrusted images and invoke image-size on JXL or HEIF content. The bundle describes image-size through 2.0.2 as vulnerable, but its structured affected-version data lists only 1.1.0 and 2.0.0; confirm exact vulnerable ranges with vendor guidance.
Exploitation context
The CVE is not listed in KEV, and the supplied sources do not establish active exploitation. A public technical analysis and an exploit-tagged reference indicate that the condition is publicly understood. Exploitation can cause persistent process unavailability, but the supplied evidence does not show data theft, modification, or broader system compromise.
Researcher notes
The core failure is non-progress in box iteration when size equals zero. Exposure depends on format recognition and attacker control of the parsed buffer. Version evidence in the bundle is inconsistent, and no universal fixed version is explicitly identified. Red Hat errata indicate downstream remediation exists for some products, but applicability must be checked per deployment.
Mitigation direction
Inventory applications and transitive dependencies using image-size, including the installed versions.
Prioritize services that process uploaded, emailed, proxied, or remotely fetched images.
Check image-size vendor guidance and the archived fix discussion for an approved corrected release.
Restrict or reject untrusted JXL and HEIF processing until affected services are remediated.
Apply relevant Red Hat errata where affected Red Hat packages are deployed.
Use process supervision and resource isolation to limit outages while remediation is pending.
Validation and detection
Inspect lockfiles and deployed artifacts to identify actual image-size versions.
Trace whether untrusted buffers can reach JXL or HEIF dimension parsing.
Confirm production controls reject unsupported image formats before image-size processing.
Verify patched package versions against vendor guidance; the bundle does not name a universal fixed version.
Test service recovery and alerting using safe internal availability checks, without reproducing malicious inputs.
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.