# imgproxy out-of-bounds write in ICO loader BMP header

Source: https://junglewise.ai/threats/imgproxy-has-out-of-bounds-heap-read-write-in-ico-loader-bmp-header-c4e077cd  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-10-30. Updated: 2026-10-30  
License: CC BY 4.0 with a link back

Severity: high · CVSS 7.5 · Published 2026-10-30

imgproxy is an image processing service that handles ICO (Windows icon) files. A flaw in its ICO decoder allows an attacker to send a specially crafted image file that causes the server to crash and terminate the worker process handling the request. An unauthenticated attacker can trigger this denial of service repeatedly.

Technologies: [github.com/imgproxy/imgproxy/v3 (Go)](https://junglewise.ai/threats/technologies/github-com-imgproxy-imgproxy-v3), [Imgproxy](https://junglewise.ai/threats/technologies/imgproxy). Vendors: [Go](https://junglewise.ai/threats/vendors/go), [Imgproxy](https://junglewise.ai/threats/vendors/imgproxy).

## Quick answers

**Is This vulnerability exploited in the wild?** No. Junglewise Threat Intelligence has no report of This vulnerability being exploited in the wild.

**How severe is This vulnerability?** High severity, with a CVSS score of 7.5, published 30 October 2026.

**Which products and versions are affected?** github.com/imgproxy/imgproxy/v3 (Go) >= 3.3.0, < 4.0.17, SEMVER:introduced=3.3.0,fixed=4.0.17; Imgproxy 3.3.x through 4.0.15.

**Is there a fix for This vulnerability?** Yes. github.com/imgproxy/imgproxy/v3 (Go): upgrade to 4.0.17 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is This vulnerability attacked?** It is attacked over the network, in a hosted service.

**Am I affected?** Check whether you run github.com/imgproxy/imgproxy/v3 (Go) or Imgproxy at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- github.com/imgproxy/imgproxy/v3 (Go): upgrade to 4.0.17 or later

  ```sh
  go get github.com/imgproxy/imgproxy/v3@v4.0.17
  ```


## Technical details

The vulnerability is an out-of-bounds heap write in vips/icoload.c during BMP header reconstruction. When processing an ICO entry with an undersized image data buffer, the loader reads unvalidated BITMAPINFOHEADER fields (num_colors, bpp, height) at fixed offsets that extend past the allocation, then writes a reconstructed 32-bit height value that corrupts the size field of the adjacent heap chunk. This corrupts the heap metadata such that the next free() deterministically triggers glibc's munmap_chunk() abort path, killing the imgproxy worker.

## Affected products

- imgproxy imgproxy 3.3.x through 4.0.15

## Timeline

- 2026-10-30: disclosed

## Related threats

- [imgproxy integer overflow in ICO loader](https://junglewise.ai/threats/cve-2026-123614-imgproxy-from-4-0-0-before-4-0-16-contains-an-integer-overflow)
- [imgproxy unbounded memory allocation in ICO loader](https://junglewise.ai/threats/go-2026-6898-imgproxy-has-unbounded-memory-allocation-in-ico-loader-a99ea6ff)
- [imgproxy out-of-bounds heap read/write in ICO loader BMP header](https://junglewise.ai/threats/go-2026-6895-imgproxy-has-out-of-bounds-heap-read-write-in-ico-loader-d8e85817)
- [imgproxy integer overflow in ICO loader](https://junglewise.ai/threats/go-2026-6897-imgproxy-has-integer-overflow-in-imgproxy-ico-loader-that-dbf52154)
- [imgproxy integer overflow in ICO loader](https://junglewise.ai/threats/imgproxy-has-integer-overflow-in-imgproxy-ico-loader-that-causes-denial-19f131eb)
