CVE-2024-44337 Infinite loop in github.com/gomarkdown/markdown
A remote attacker can cause a denial of service via infinite loop in the Go markdown parser library by providing crafted input.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Local or same network only
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2024-44337?
CVE-2024-44337 is a medium-severity denial of service vulnerability in n/a, published on 15 Oct 2024. It can only be exploited from the same machine or local network, with no action from the victim.
Official description
The package `github.com/gomarkdown/markdown` is a Go library for parsing Markdown text and rendering as HTML. Prior to pseudoversion `v0.0.0-20240729232818-a2a9c4f`, which corresponds with commit `a2a9c4f76ef5a5c32108e36f7c47f8d310322252`, there was a logical problem in the paragraph function of the parser/block.go file, which allowed a remote attacker to cause a denial of service (DoS) condition by providing a tailor-made input that caused an infinite loop, causing the program to hang and consume resources indefinitely. Submit `a2a9c4f76ef5a5c32108e36f7c47f8d310322252` contains fixes to this problem.
Which versions are affected by CVE-2024-44337?
3 open source packages ship an affected version, including github.com/gomarkdown/markdown.
| Package | Affected | Fixed in |
|---|---|---|
github.com/gomarkdown/markdown Go | All versions | 0.0.0-20240729212818-a2a9c4f76ef5 |
github.com/gomarkdown/markdown Go | All versions | 0.0.0-20240729212818-a2a9c4f76ef5 |
github.com/gomarkdown/markdown Go | All versions | 0.0.0-20240729212818-a2a9c4f76ef5 |
Linux distribution packages (1)
fq openSUSE:Tumbleweed | All versions | 0.14.0-1.1 |
How do I fix CVE-2024-44337?
Upgrade github.com/gomarkdown/markdown to 0.0.0-20240729212818-a2a9c4f76ef5 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-44337 being exploited?
There is no known exploitation of CVE-2024-44337 in the wild and no public exploit code.
Public exploit code: 1 proofs of concept on GitHub.
Sources
Also known as AZL-50618, DEBIAN-CVE-2024-44337, GHSA-xhr3-wf7j-h255, GO-2024-3205, UBUNTU-CVE-2024-44337, openSUSE-SU-2025:14753-1.