CVE-2024-37904 Denial of service from maliciously configured Git repository in Minder

Medium 5.7 Published Updated

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.

PackageAffectedFixed in
github.com/stacklok/minder GoAll versions0.0.52
github.com/stacklok/minder GoAll versions0.0.52
github.com/stacklok/minder GoAll versions0.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.

Is CVE-2024-37904 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free