imgproxy before 4.0.17 Out-of-Bounds Write in ICO Loader
Affects imgproxy 3.3.0 through 4.0.16 when it processes a crafted ICO image, such as with local file sources enabled. Fixed in 4.0.17.
Written by anthropic/claude-haiku-5.5 from the sources below. Verify against them.
- Exploited
- No known exploitation
- Fix
- Fixed in 4.0.17
- Who is exposed
- Not reported
Do first: Upgrade to a fixed version: 4.0.17.
- Published
- Last modified
- A 0-100 score for how much a CVE matters across the industry: exploitation, exposure, how widely the software is used, severity and whether a fix exists.What do these mean? →
- 36/100 · provisional
- How many real-world setups can hit the bug, from the vendor's advisory and CISA data. It does not know your setup.What do these mean? →
- Unclear
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
imgproxy 3.3.0 before 4.0.17 contains an out-of-bounds heap read and write in the ICO loader's BMP header reconstruction (vips_foreign_load_ico_header in vips/icoload.c) when an ICO entry declares a tiny data size, causing unvalidated header fields to be read and written past the allocated buffer. Unauthenticated remote attackers can supply a crafted ICO image to corrupt adjacent heap chunk metadata, triggering a glibc abort that crashes the worker.
cve.now Index
- Exploitation?/40Unknown. No CISA SSVC exploitation rating yet
- Exposure17/25No login or user action needed, reachable over the network without a login · Unknown: Advisories don't say whether default setups are affected
- Reach10/20Affects Go packages
- Severity8.7/10CVSS 8.7
- No patch0/5No signal
What would change the score
- Would score about 81 if added to CISA KEV
- Would score about 76 if CISA's SSVC rates exploitation active
- Would score about 41 if advisories confirm default setups are exposed
What to do
Upgrade to a fixed version: 4.0.17.
Timeline
- CVE published
- First seen by cve.now
Affected versions
- imgproxy imgproxy
From 3.3.0 · fixed in 4.0.17
All versions
No fix released. The latest release, v2.2.11+incompatible, is still affected.
All versions
No fix released. The latest release, v2.17.0, is still affected.
From 3.3.0
No fix released. The latest release, v3.31.4, is still affected.
fixed in 4.0.17
From 3.3.0 · fixed in 4.0.17
Evidence 2
- Advisory
- Link
Corrections
None so far.
Something wrong on this page? Report an error. Every fix is listed here.
Questions about CVE-2026-123615
Is CVE-2026-123615 being exploited?
It is not in CISA's Known Exploited Vulnerabilities catalog, and CISA's SSVC assessment does not mark exploitation as active. That does not mean it has not been attacked: vendors and researchers can report attacks before CISA lists them. No public exploit code is tracked.Source: cve.now feed data
What does this mean?
An ICO entry that declares a tiny image data size makes the loader read and write past its allocated buffer. This corrupts adjacent heap chunk metadata and triggers a glibc abort that crashes the imgproxy worker, causing a denial of service.Source: github.com, vulncheck.com
Which versions are affected by CVE-2026-123615?
imgproxy: from 3.3.0 before 4.0.17. github.com/imgproxy/imgproxy (Go): all versions. github.com/imgproxy/imgproxy/v2 (Go): all versions. github.com/imgproxy/imgproxy/v3 (Go): from 3.3.0. github.com/imgproxy/imgproxy/v4 (Go): before 4.0.17. 1 more package is listed on the page.Source: cve.now feed data
Am I affected, and how do I check?
Imgproxy versions 3.3.0 through 4.0.16 are in the affected range. The published proof of concept uses a local file source with IMGPROXY_ENABLE_LOCAL_FILES=true, so a reader can check the imgproxy version they run and whether local files are enabled.Source: github.com, vulncheck.com
How do I fix CVE-2026-123615?
Upgrade to imgproxy 4.0.17 or later, which contains the fix. The facts list no workaround.Source: github.com, vulncheck.com