CVE-2025-71330 json
image-size 2.0.2 Denial of Service via Malformed ICNS Image Parsing
published 4mo ago modified yesterday also EUVD-2025-210105 , GHSA-w3rx-r6r6-pgpr
- cvss
- 7.5
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.4%
- EPSS 0.4% chance of exploitation in 30 days, percentile 37%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- npm image-size 2.0.3
Is CVE-2025-71330 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerVendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2025-71330 updated cvss 6.5
image-size: image-size: Denial of Service via crafted ICNS image buffer
-
Red Hat Gatekeeper 3 gatekeeper/gatekeeper-rhel9 Red Hat Build of Podman Desktop rh-podman-desktop.git Red Hat Discovery 2 discovery/discovery-ui-rhel9 Red Hat Enterprise Linux 8 grafana, grafana-pcp, grafana-loki, grafana-mssql, grafana-mysql, grafana-selinux, +9 more Red Hat Fuse 7 image-size Red Hat JBoss Enterprise Application Platform 7 image-sizeaffected: workaround, no fix available “Upgrade to a version of image-size that validates ICNS entry length fields. As a workaround, validate image inputs before passing them to image-size, rejecting ICNS files with zero-length entries.”
+5 more productsfewer
Red Hat JBoss Enterprise Application Platform 8 image-size Red Hat JBoss Enterprise Application Platform Expansion Pack image-size Red Hat OpenShift Dev Spaces devspaces/code-rhel9 Red Hat Satellite 6 satellite/iop-vulnerability-frontend-rhel9 Red Hat Trusted Artifact Signer rhtas/rekor-search-ui-rhel9 -
Red Hat OpenShift AI 3.4 rhoai/odh-workbench-codeserver-datascience-cpu-py312-rhel9 1787121387fixed: vendor fix “Upgrade to a version of image-size that validates ICNS entry length fields. As a workaround, validate image inputs before passing them to image-size, rejecting ICNS files with zero-length entries.” RHSA-2026:60520
-
Red Hat OpenShift AI 3.4 rhoai/odh-cli-rhel9 1787330837, rhoai/rhai-cli-rhel9 1787330837, rhoai/odh-automl-rhel9 1786612415, rhoai/odh-mlflow-rhel9 1787226790, rhoai/odh-autorag-rhel9 1786612637, rhoai/odh-trainer-rhel9 1787089049, +99 morenot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- yes
- Technical impact
- partial
- Assessed
- 4mo ago
Exploit prediction
0.43% chance of exploitation in the next 30 days, higher than 37% of all scored CVEs (FIRST EPSS, 2026-11-09).
Exploits and checks
- joshua.hu https://joshua.hu/image-size-infinite-loop-dos-vulnerabilities referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 8.7 | 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 |
| CNA | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
| GitHub | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
| CNA | 4.0 | 8.7 | 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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | image-size | >=0.6.3, <2.0.3 |
2.0.3 |
Affected products
- image-size image-size
Classification
- Weakness
-
- CWE-835 Loop with Unreachable Exit Condition
References
-
web.archive.org
/web/20260224152152/https://github.com/image-size/image-size/pull/439
issue-tracking, patch, web
-
codeberg.org
/image-size/image-size/commit/e6e83a5578961de81f6d5834d90fb7430d8f29a5
web
-
joshua.hu
/image-size-infinite-loop-dos-vulnerabilities
technical-description, exploit, web, third-party-advisory
-
vulncheck.com
/advisories/image-size-denial-of-service-via-malformed-icns-image-parsing
third-party-advisory, web
-
nvd.nist.gov
/vuln/detail/CVE-2025-71330
advisory
-
github.com
/image-size/image-size
package
Sources
- CVE List CVE-2025-71330
- GitHub Advisory GHSA-w3rx-r6r6-pgpr
- NVD CVE-2025-71330
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.