CVE-2024-37904 Denial of service from maliciously configured Git repository in Minder
An attacker can crash the Minder server by instructing it to clone a large malicious Git repository, exhausting memory resources.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Over the internet
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is CVE-2024-37904?
CVE-2024-37904 is a medium-severity denial of service vulnerability in stacklok minder, published on 18 Jun 2024. Any signed-in user can exploit it over the network, and only if a user opens a file or follows a link.
Official description
Minder is an open source Software Supply Chain Security Platform. Minder's Git provider is vulnerable to a denial of service from a maliciously configured GitHub repository. The Git provider clones users repositories using the `github.com/go-git/go-git/v5` library on lines `L55-L89`. The Git provider does the following on the lines `L56-L62`. First, it sets the `CloneOptions`, specifying the url, the depth etc. It then validates the options. It then sets up an in-memory filesystem, to which it clones and Finally, it clones the repository. The `(g *Git) Clone()` method is vulnerable to a DoS attack: A Minder user can instruct Minder to clone a large repository which will exhaust memory and crash the Minder server. The root cause of this vulnerability is a combination of the following conditions: 1. Users can control the Git URL which Minder clones, 2. Minder does not enforce a size limit to the repository, 3. Minder clones the entire repository into memory. This issue has been addressed in commit `7979b43` which has been included in release version v0.0.52. Users are advised to upgrade. There are no known workarounds for this vulnerability.
Weakness: CWE-400
Which versions are affected by CVE-2024-37904?
3 open source packages ship an affected version, including github.com/stacklok/minder.
| Package | Affected | Fixed in |
|---|---|---|
github.com/stacklok/minder Go | All versions | 0.0.52 |
github.com/stacklok/minder Go | All versions | 0.0.52 |
github.com/stacklok/minder Go | All versions | 0.0.52 |
How do I fix CVE-2024-37904?
Upgrade github.com/stacklok/minder to 0.0.52 or later.
Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.
Is CVE-2024-37904 being exploited?
There is no known exploitation of CVE-2024-37904 in the wild and no public exploit code.
Sources
Also known as GHSA-hpcg-xjq5-g666, GO-2024-2934.