CVE-2026-102941
Description
A flaw was found in github.com/gomarkdown/markdown. A remote attacker can cause a Denial of Service (DoS) by submitting specially crafted Markdown content containing empty or very short link destinations. When link sanitization is enabled, the parser attempts to read beyond the boundaries of the input string without verifying its length. This issue triggers an unhandled crash, terminating the running process.
Statement
Only components that use gomarkdown/markdown to parse and render externally supplied Markdown are affected by this flaw. Components that bundle this dependency without exercising its URL-sanitization and rendering code during normal operation are not affected.
Mitigation
There is no mitigation for this issue. Affected components should update their github.com/gomarkdown/markdown dependency to a release that includes the upstream fix (commit 61af6e1e6971 or later), which validates URL length before it is sliced in parser.IsSafeURL.
--- CME Mitigation Guidance (2026-10-20) ---
Disclaimer: The following mitigation solutions are provided as a courtesy, pending the application of an official patch. This content was generated utilizing AI tools in conjunction with data from https://cmetaxonomy.org. Customers are advised to independently evaluate and test these temporary mitigations within their own infrastructure.
The highest-value action is to validate URL length before slicing in URL sanitization routines or avoid exposing html.Safelink rendering to untrusted Markdown: upgrade to github.com/gomarkdown/markdown 0.0.0-20260724235538-61af6e1e6971 (or the fixed Golang Github Gomarkdown Markdown/Matterbridge/Multicluster Globalhub/Multicluster Globalhub Grafana Rhel/Rhacm2/Acm Grafana Rhel/Ansible Automation Platform/Automation Orchestrator Temporal Rhel builds), which validate that the URL length is at least the prefix length before slicing url[:nPath], skipping comparisons when the URL is shorter, closing all 3 injection vectors (crafted Markdown link with empty destination, crafted Markdown link with short relative destination like dot or double dot, direct submission of short URL strings to parser.IsSafeURL). Until patched, this is a concern on applications parsing untrusted Markdown using markdown.ToHTML with html.Safelink enabled, or directly calling parser.IsSafeURL on untrusted input, so avoid parsing untrusted Markdown with html.Safelink enabled and avoid passing unvalidated attacker-controlled URL strings directly to parser.IsSafeURL. These controls limit blast radius and contain exploitation, but they do not fix the underlying slice-bounds out-of-range panic defect — apply the upstream patch to fully remediate.
Highest-impact CME: CME-1311 Input Size and Quantity Bounds Enforcement (high)
Common Vulnerability Scoring System (CVSS) Score Details
Info alert:Important note
CVSS scores for open source components depend on vendor-specific factors (e.g. version or build chain). Therefore, Red Hat's score and impact rating can be different from NVD and other vendors. Red Hat remains the authoritative CVE Naming Authority (CNA) source for its products and services (see Red Hat classifications).
The following CVSS metrics and score provided are preliminary and subject to review.
CVSS v3 Score Breakdown
| Red Hat | NVD | cve.org | |
|---|---|---|---|
| Base Score | 7.5 | N/A | 7.5 |
| Attack Vector | Network | N/A | Network |
| Attack Complexity | Low | N/A | Low |
| Privileges Required | None | N/A | None |
| User Interaction | None | N/A | None |
| Scope | Unchanged | N/A | Unchanged |
| Confidentiality | None | N/A | None |
| Integrity Impact | None | N/A | None |
| Availability Impact | High | N/A | High |
Vector
Red Hat: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
cve.org: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Understanding the Weakness (CWE)
Confidentiality
Technical Impact: Read Memory
An attacker could get secret values such as cryptographic keys, PII, memory addresses, or other information that could be used in additional attacks.
Confidentiality
Technical Impact: Bypass Protection Mechanism
Out-of-bounds memory could contain memory addresses or other information that can be used to bypass ASLR and other protection mechanisms in order to improve the reliability of exploiting a separate weakness for code execution.
Availability
Technical Impact: DoS: Crash, Exit, or Restart
An attacker could cause a segmentation fault or crash by causing memory to be read outside of the bounds of the buffer. This is especially likely when the code reads a variable amount of data and assumes that a sentinel exists to stop the read operation, such as a NUL in a string.
Other
Technical Impact: Varies by Context
The read operation could produce other undefined or unexpected results.
Frequently Asked Questions
Not sure what something means? Check out our Security Glossary.
Want to get errata notifications? Sign up here.