Description (CNA)
Every uncached /avatar/:hash request spawns a goroutine that refreshes the Gravatar image. If the refresh sits in the 10-slot worker queue longer than three seconds, the handler times out and stops listening for the result, so that goroutine blocks forever trying to send on an unbuffered channel. Sustained traffic with random hashes keeps tripping this timeout, so goroutine count grows linearly, eventually exhausting memory and causing Grafana to crash on some systems.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Grafana / grafana/grafana-enterprise | affected 3.0.0 before 11.6.9 |
| Grafana / grafana/grafana-enterprise | affected 3.0.0 before 12.0.8 |
| Grafana / grafana/grafana-enterprise | affected 3.0.0 before 12.1.5 |
| Grafana / grafana/grafana | affected 3.0.0 before 11.6.9 |
| Grafana / grafana/grafana | affected 3.0.0 before 12.0.8 |
| Grafana / grafana/grafana | affected 3.0.0 before 12.1.5 |
| Grafana / grafana/grafana-enterprise | affected 3.0.0 before 12.2.3 |
| Grafana / grafana/grafana | affected 3.0.0 before 12.2.3 |
| Grafana / grafana/grafana-enterprise | affected 3.0.0 before 12.3.1 |
| Grafana / grafana/grafana | affected 3.0.0 before 12.3.1 |
CWE
No CWE identifiers supplied.
References
ADP enrichment
No English description supplied.
No references supplied.
A flaw was found in Grafana. A remote attacker can exploit this vulnerability by sending a sustained volume of uncached /avatar/:hash requests. This action causes the system to create and block goroutines, which are lightweight concurrent functions, leading to a continuous increase in memory usage. Over time, this resource exhaustion can cause Grafana to crash, resulting in a Denial of Service (DoS).