HighVulnerabilityGHSA-mmq5-xm89-9pfgupdated 30 Oct 2026, 22:56 UTC
imgproxy can be made to grab about 4GB of memory from one tiny crafted icon file
A specially crafted tiny icon file can make imgproxy try to reserve about 4GB of memory. Repeated requests can crash the service or slow down the server.
Fixed in 4.0.16 · out Official source
| Severity | HighCVSS 7.5 of 10 |
|---|---|
| Being exploited? | UnclearNo reports either way yet |
| Fix available? | Yes4.0.16 · since 30 Oct 2026 |
| How sure is this? | Official sourceBacked by an official source |
How the attack works simplified
- 1Attacker sends fileCrafted 23-byte ICO file
- 2imgproxy parses ICOReads declared data_size value
- 3Huge allocationAbout 4GB requested with no bounds check
- 4Memory exhaustedWorker crashes or host slows
- ResultRepeatable memory exhaustion and denial of service
What happened
An unbounded, unvalidated memory allocation in imgproxy's ICO loader (vips/icoload.c) uses an attacker-controlled data_size value from the ICO directory entry directly in VIPS_MALLOC without any bounds check.
Why it is dangerous: An unauthenticated attacker can send a 23-byte ICO file to trigger roughly 4GB allocations per request, causing memory exhaustion, worker crashes, or denial of service on any imgproxy deployment that processes attacker-supplied images.
Are you affected?
You are affected if you run imgproxy v3.3.0 through v4.0.15 and it processes images from untrusted sources.
| Package / product | Affected versions | Fixed in |
|---|---|---|
| github.com/imgproxy/imgproxy/v3 · go | >= 3.3.0, <= 4.0.15 | 4.0.16 |
What to do
- Update imgproxy to version 4.0.16 or later
- If you cannot update right away, disable local file sources (IMGPROXY_ENABLE_LOCAL_FILES) and restrict which image sources imgproxy accepts
- Set memory limits on imgproxy workers or containers so a single request cannot exhaust the host
Timeline
- 30 Oct 2026, 22:55 UTCPublicly disclosed
- 30 Oct 2026, 22:55 UTCReported by GitHub Advisory · GitHub Advisory
- 30 Oct 2026, 22:56 UTCPicked up by Zero Radar
Sources 1 report, oldest first
Official vendor, government CERT or advisory database
- imgproxy has unbounded memory allocation in ICO loader that allows unauthenticated memory-exhaustion DoS via crafted data_size fieldGitHub Advisory · 30 Oct 2026, 22:55 UTC
Technical details
- ID
- GHSA-mmq5-xm89-9pfg
- CVSS
- 7.5 / 10
- Disclosed
- 30 Oct 2026, 22:55 UTC
- On Zero Radar
- 30 Oct 2026, 22:56 UTC (0 min after disclosure)
- Last change
- 30 Oct 2026, 22:56 UTC
The plain-language parts and the attack diagram were written by an AI model (anthropic/claude-haiku-5.5) from the sources above. Facts like versions, exploitation and dates come from the sources themselves. How Zero Radar works