CVE-2026-102941: gomarkdown/markdown IsSafeURL panics on short URLs
Vulnerability summary
CVE-2026-102941 is a high (CVSS 7.5) Out-of-bounds Read vulnerability in gomarkdown markdown. EPSS estimates a 0.28% chance of exploitation in the next 30 days, higher than 20.4% of scored vulnerabilities.
Severe, CVSS 7.5 (CVE.org); no exploitation reported by the 5 checked sources; EPSS 0% (FIRST, 03-11-2026)
Source freshness unavailable
How is this decided?Timeline
- 16-10-2026PublishedVulnerability first disclosed.
- 26-10-2026Last modifiedVulnerability information updated.
Description
The package github.com/gomarkdown/markdown is a Go library for parsing Markdown text and rendering as HTML. Prior to 0.0.0-20260724235538-61af6e1e6971, parser.IsSafeURL in parser/parser.go slices url[:nPath] before the len(url) >= nPath guard. A short destination causes a slice-bounds panic when the loop reaches a relative-path prefix for which len(url) < nPath and cap(url) < nPath. The one-byte destination / is an explicit non-panic counterexample because it matches the first valid path and returns before a longer prefix is sliced. Demonstrated panic cases include empty, ., and .. destinations under those conditions. The panic is reachable when markdown.ToHTML renders untrusted Markdown with html.Safelink enabled, including an empty link destination, and is also reachable by callers that pass a short attacker-controlled URL directly to the exported parser.IsSafeURL function. An uncaught panic can terminate the calling process and cause denial of service. This issue is fixed in 0.0.0-20260724235538-61af6e1e6971.
CVSS metrics
7 scores · 7 sources · 1 version- NVDNIST7.5HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- OSV · GoEcosystem advisory · calculated7.5HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- OSV · DebianEcosystem advisory · calculated7.5HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- OSV · WolfiEcosystem advisory · calculated7.5HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- OSV · ChainguardEcosystem advisory · calculated7.5HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- OSV · UbuntuEcosystem advisory · calculated7.5HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
EPSS trend
Probability
0.28%
Chance of exploitation in the next 30 days
Percentile
20%
Versus all other CVEs
30-day change
Change unavailable
Change unavailable
Known exploited
Compare KEV catalogsNot in the CISA KEV catalog.
Not in the ENISA CNW catalog.
Not in the CIRCL catalog.
Public exploits
0 foundNo public exploits indexed.
Weaknesses
CWE · root causeAffected systems
Known conditions: network-reachable, no authentication, no user interaction (CVSS vector). Other conditions: not stated in public data.
Chainguard16 products
- coder-2.29All versions (No fix recorded) | < 2.29.21-r3
- coder-2.32All versions (No fix recorded) | < 2.32.10-r16
- coder-2.33All versions (No fix recorded) | < 2.33.11-r18
- coder-2.34All versions (No fix recorded) | < 2.34.12-r5
- coder-fips-2.29All versions (No fix recorded) | < 2.29.21-r5
Wolfi5 products
- fqAll versions (No fix recorded) | < 0.18.0-r3
- kube-metrics-adapterAll versions (No fix recorded) | < 0.2.9-r26
- snyk-cliAll versions (No fix recorded) | < 1.1308.1-r2
- temporalAll versions (No fix recorded) | < 1.9.1-r4
- temporal-ui-serverAll versions (No fix recorded) | < 2.56.0-r2
Debian1 product
- golang-github-gomarkdown-markdownAll versions (No fix recorded) | < 0.0~git20260725.8435af3-1
Github.com/gomarkdown1 product
- markdown< 0.0.0-20260724235538-61af6e1e6971
Gomarkdown1 product
- markdown< 0.0.0-20260724235538-61af6e1e6971
Ubuntu1 product
- golang-github-gomarkdown-markdownAll versions (No fix recorded)
6 vendors · 25 products