CVE-2026-21720

Unauthenticated DoS: avatar cache leaks goroutines when /avatar/:hash requests time out

High · published January 27, 2026

CVSS v3.1
7.5
EPSS
1%
Percentile
52.7
In the wild
Unconfirmed
What it is

⚡ Each uncached /avatar/:hash request creates a goroutine that may never finish! Think of it as a waiter who keeps taking orders but forgets to serve them — and soon, the entire restaurant is overflowing with angry customers. 🔥 Imagine a restaurant where every time a customer orders a dish that isn't in stock, the chef just throws their hands up and waits indefinitely. As more customers keep coming in with the same order, the kitchen fills up with frustrated chefs who can't serve anyone else — that’s how this vulnerability works! If left unchecked, this can lead to a memory exhaustion that causes Grafana to crash, cutting off access to your critical data and dashboards. It's like a traffic jam where no one can move — your operations come to a halt and can leave you scrambling to restore service!

Put simply

Imagine a restaurant where every time a customer orders a dish that isn't in stock, the chef just throws their hands up and waits indefinitely. As more customers keep coming in with the same order, the kitchen fills up with frustrated chefs who can't serve anyone else — that’s how this vulnerability works! This vulnerability occurs due to the way each uncached Gravatar image request spawns a goroutine that times out after three seconds, resulting in a backlog of goroutines that block forever on an unbuffered channel. The result? An ever-growing memory footprint that could bring your Grafana instance to its knees!

What to do

If left unchecked, this can lead to a memory exhaustion that causes Grafana to crash, cutting off access to your critical data and dashboards. It's like a traffic jam where no one can move — your operations come to a halt and can leave you scrambling to restore service! To fix this, you should update to the latest version of Grafana where this issue has been addressed. Additionally, consider limiting the rate of incoming requests or implementing timeouts in goroutines to prevent this situation from getting out of hand in the future. You can tackle this challenge head-on with these steps! Get that memory under control and keep your Grafana running smoothly! 🛡️

The record
Technical detail
CVSS v3.1
7.5 · HIGH
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00701 · 52.7th percentile
Published
2026-01-27T09:07Z
EPSS history
Timeline
  • 27 JAN 09:07Z
    Unauthenticated DoS: avatar cache leaks goroutines when /avatar/:hash requests time out
    cvelistv5