CVE-2024-10846 Excessive Platform Resource Consumption within a Loop when unmarshalling Compose file having recursive loop

Medium 5.9 Published Updated

An attacker can cause excessive memory and CPU consumption in the compose-go library by sending malicious YAML payloads with recursive loops.

Exploited in the wild
Not known
Login needed
Any signed-in user
Attackable
Local or same network only
Victim action needed
A user has to click or open something
Fix
Available

What is CVE-2024-10846?

CVE-2024-10846 is a medium-severity denial of service vulnerability in compose-spec compose-go, published on 23 Jan 2025. It can only be exploited from the same machine or local network, and only if a user opens a file or follows a link.

Official description

The compose-go library component in versions v2.10-v2.4.0 allows an authorized user who sends malicious YAML payloads to cause the compose-go to consume excessive amount of Memory and CPU cycles while parsing YAML, such as used by Docker Compose from versions v2.27.0 to v2.29.7 included

Weakness: CWE-20

Which versions are affected by CVE-2024-10846?

3 open source packages ship an affected version, including github.com/compose-spec/compose-go/v2.

PackageAffectedFixed in
github.com/compose-spec/compose-go/v2 GoFrom 2.1.02.4.1
github.com/compose-spec/compose-go/v2 GoFrom 2.1.02.4.1
github.com/compose-spec/compose-go/v2 GoFrom 2.1.02.4.1

How do I fix CVE-2024-10846?

Upgrade github.com/compose-spec/compose-go/v2 to 2.4.1 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-10846 being exploited?

There is no known exploitation of CVE-2024-10846 in the wild and no public exploit code.

Sources

Also known as AZL-55947, GHSA-36gq-35j3-p9r9, GO-2025-3412, MINI-6m36-69wc-qj23.

Is CVE-2024-10846 in your software?

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

Check your SBOMs for free