Skip to main content

image-size CVE-2025-71329

| EUVDEUVD-2025-210106 HIGH
Loop with Unreachable Exit Condition (Infinite Loop) (CWE-835)
2026-06-10 VulnCheck GHSA-5p2g-fcmc-qvqq
8.7
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Identify endpoint accepting image uploads
  2. Delivery
    Craft JXL/HEIF with zero-size box
  3. Exploit
    Submit malformed image over HTTP
  4. Execution
    Trigger infinite loop in parser
  5. Persist
    Block Node.js event loop
  6. Impact
    Repeat across workers to deny service

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Loop termination conditions
MITRE ATT&CK

1 technique across 1 tactic: Impact

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

The target application must call image-size (≤ 2.0.2) on attacker-controlled bytes and have its JXL or HEIF parsing code paths reachable - these parsers are invoked based on the image's container signature, so simply accepting arbitrary image uploads is sufficient and no special configuration toggle is required. No authentication is required (PR:N), no user interaction is required (UI:N), and the attack works against default configurations over the network (AV:N/AC:L). Limiting factors: the application must actually invoke image-size on untrusted input (build-time-only or trusted-source usage is not exposed), and impact is bounded to availability - confidentiality and integrity are unaffected (VC:N/VI:N) - so deployments running image-size in a sandboxed worker with timeouts will see degraded rather than catastrophic impact.

Impact

The CVSS 4.0 vector AV:N/AC:L/AT:N/PR:N/UI:N/VA:H produces a score of 8.7 (High) and accurately reflects an unauthenticated, low-complexity, network-reachable availability attack with high availability impact and no confidentiality or integrity impact - consistent with a pure DoS. SSVC signals are not provided, but the combination of public POC, a merged upstream fix, and the trivial payload (a single malformed image) make exploitation Automatable=Yes and Technical Impact=Partial in practical terms. No EPSS score is supplied and the CVE is not in CISA KEV, so there is no evidence of in-the-wild abuse yet; however, image-size is a transitive dependency in many image-processing pipelines, upload handlers, and SSR frameworks, so the realistic blast radius is broader than the CVSS alone implies. Priority should be elevated for any internet-facing service that calls image-size on attacker-controlled bytes, and treated as lower priority for build-time-only or trusted-input usage.

Exploit ScenarioDerived

An attacker uploads or submits a single crafted JXL or HEIF image - a few hundred bytes is enough - to any endpoint that passes user-supplied image bytes to image-size, for example an avatar upload, a thumbnail generator, or an SSR meta-tag image probe. The malformed box with size=0 sends the parser into an infinite loop on the Node.js main thread, blocking all concurrent requests handled by that worker until it is killed; with publicly available exploit code, repeating this across worker processes trivially takes the service offline.

Monitor Track and reassess. Why: Vendor states no customer action required.
Patch available 0.1% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv3 – Jun 10, 2026

Denial of service in the image-size Node.js library through version 2.0.2 allows remote unauthenticated attackers to permanently hang the Node.js event loop by supplying a crafted JXL or HEIF image containing a box with a zero-valued size field. Publicly available exploit code exists and an upstream fix has been merged, making this a credible availability threat for any service that accepts user-supplied images and runs them through image-size. No active exploitation has been reported in CISA KEV at time of analysis.

Earlier versions of this analysis (2)
v2 Jun 10, 2026 - 14:28 cvss changed CVSS 8.7

Denial of service in the image-size Node.js library through version 2.0.2 lets remote unauthenticated attackers permanently hang the Node.js event loop by submitting a crafted JXL or HEIF image containing a box with a zero-valued size field. Publicly available exploit code exists and an upstream fix has been merged, making any service that uses image-size to inspect untrusted uploads a viable target for trivial single-request takedowns.

v1 Jun 10, 2026 - 14:12 CVSS 7.5

Denial of service in the image-size Node.js library through version 2.0.2 allows remote unauthenticated attackers to permanently hang the Node.js event loop by submitting a crafted JXL or HEIF image with a zero-sized box field. Publicly available exploit code exists and the issue was disclosed by VulnCheck, but it is not listed in CISA KEV. Any service that ingests untrusted images and passes them through image-size is exposed to a single-request availability kill.

RemediationAI

Upstream fix available (PR/commit at https://github.com/image-size/image-size/pull/439); a released patched version is not independently confirmed from the provided data, so upgrade to the first published image-size release that includes PR #439 and verify the version against the project's changelog before deploying. As compensating controls until the upgrade lands, restrict the accepted image types at the application layer by rejecting JXL and HEIF inputs (trade-off: legitimate clients sending those formats will be blocked), enforce strict request timeouts on any handler that calls image-size so a hung worker is terminated rather than wedged indefinitely (trade-off: requires process-level supervision to actually kill the blocked event loop), and move image parsing into a short-lived child process or worker thread that can be killed on timeout (trade-off: added latency and operational complexity). Consult the VulnCheck advisory at https://www.vulncheck.com/advisories/image-size-denial-of-service-via-infinite-loop-in-jxl-heif-parser and the public write-up at https://joshua.hu/image-size-infinite-loop-dos-vulnerabilities for parser-level detail.

Affected VersionsENISA

image-size 1.1.0 ≤1.2.1
image-size 2.0.0 ≤2.0.2

Affected Packages

npm image-size fix: 2.0.3

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in npm

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

image-size is a widely used npm package that parses image headers to extract dimensions without decoding pixel data, and it supports container-style formats like JPEG XL (JXL) and HEIF that are structured as a sequence of typed boxes, each prefixed by a size field. The vulnerability is rooted in CWE-835 (Loop with Unreachable Exit Condition / Infinite Loop): the JXL and HEIF parsers advance their read offset by the box's declared size, but never validate that the declared size is non-zero, so a box advertising size=0 keeps the parser re-reading the same offset forever. Because Node.js executes JavaScript on a single-threaded event loop, this synchronous infinite loop blocks all other request processing in the worker, not just the current request, until the process is forcibly restarted. The affected CPE is cpe:2.3:a:image-size:image-size:*:*:*:*:*:*:*:* covering all versions up to and including 2.0.2.

Know when Node.js gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 8.7 HIGH
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
SUSE 5.5 MEDIUM
AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
Red Hat 6.5 MEDIUM

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

3
Analysis Updated
Jun 10, 2026 - 14:28 vuln.today
v3 - CVSS changed
Analysis Updated
Jun 10, 2026 - 14:28 vuln.today
v2 - CVSS changed
CVSS changed
Jun 10, 2026 - 14:22 NVD
7.5 (HIGH) 8.7 (HIGH)

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 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.

Executive ViewAI

Why It Matters

The open-source image-size library, widely used in Node.js applications, contains a publicly exploitable denial-of-service vulnerability that allows remote attackers to crash services accepting user-supplied images. Any organization running web applications, content platforms, or file-sharing services that process images faces immediate risk of service unavailability.

Business Impact: High
Compensating Controls

Apply vendor patch. Interim mitigations while patching: implement request timeouts (5-10 seconds) on image-size operations; validate image file formats before processing; restrict uploads to authenticated users only.

Threat Intelligence Overview

EPSS Score
0.1%
Top 73% exploitable
Threat Intel
1
1 sources
Exploit
POC
Public exploit code exists
Data Quality
8 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA Vendor CIRCL GitHub

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC Yes
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
Vendor states no customer action required
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Out-of-Cycle
Exploitation
Poc
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

64
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

CVE-2025-68613 HIGH POC
8.8 Dec 19

Remote code execution in n8n's workflow expression evaluation system allows an authenticated user with workflow creation

CVE-2024-41713 CRITICAL POC
9.1 Oct 21

A vulnerability in the NuPoint Unified Messaging (NPM) component of Mitel MiCollab through 9.8 SP1 FP2 (9.8.1.201) could

CVE-2024-55591 CRITICAL POC
9.8 Jan 14

FortiOS and FortiProxy contain an authentication bypass via the Node.js websocket module allowing unauthenticated remote

CVE-2023-44487 HIGH POC
7.5 Oct 10

Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour

CVE-2014-7205 CRITICAL POC
10.0 Oct 08

Eval injection vulnerability in the internals.batch function in lib/batch.js in the bassmaster plugin before 1.5.2 for t

CVE-2025-59528 CRITICAL POC
10.0 Sep 22

Flowise version 3.0.5 contains a remote code execution vulnerability in the CustomMCP node. The mcpServerConfig paramete

CVE-2017-14849 HIGH POC
7.5 Sep 28

Node.js 8.5.0 before 8.6.0 allows remote attackers to access unintended files, because a change to ".." handling was inc

CVE-2017-5941 CRITICAL POC
9.8 Feb 09

An issue was discovered in the node-serialize package 0.0.4 for Node.js. Rated critical severity (CVSS 9.8), this vulner

CVE-2014-0224 HIGH POC
7.4 Jun 05

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

CVE-2014-3744 HIGH POC
7.5 Oct 23

Directory traversal vulnerability in the st module before 0.2.5 for Node.js allows remote attackers to read arbitrary fi

CVE-2014-9566 HIGH POC
7.5 Mar 10

Multiple SQL injection vulnerabilities in the Manage Accounts page in the AccountManagement.asmx service in the Solarwin

CVE-2024-35286 CRITICAL POC
9.8 Oct 21

A vulnerability in NuPoint Messenger (NPM) of Mitel MiCollab through 9.8.0.33 allows an unauthenticated attacker to cond

Vendor 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

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy