CVE-2026-111759
Description
A flaw was found in markdown-it. A remote attacker can trigger a Denial of Service (DoS) by submitting specially crafted Markdown input containing numerous mismatched quotation marks when typographer mode is enabled. This input causes the parser to repeatedly rescan quote tokens, resulting in quadratic processing time and excessive CPU consumption.
Mitigation
--- 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 disable typographer mode or the smartquotes inline rule across all markdown-it instances processing untrusted user input: upgrade to markdown-it 14.3.2 and 15.0.2 (or the fixed Libgit/Libgit2/Nextcloud/Forgejo/Ansible/Rhoai/Odh Workbench Codeserver Datascience Cpu Py312 Rhel/Rhdh/Rhdh Hub Rhel/Devspaces/Code Rhel/Devspaces/Openvsx Rhel/Devspaces/Pluginregistry Rhel/Thrift/Ansible Automation Platform/Automation Portal/Rhoai/Odh Feature Server Rhel/Rhdh/Red Hat Developer Hub Backstage Plugin Orchestrator Backend/Ansible Automation Platform/Bootc Automation Portal Rhel/Rh Podman Desktop/Rhdh/Red Hat Developer Hub Backstage Plugin Lightspeed Backend/Redhat User Workloads/Mintmaker Renovate Image builds), which track latest single and double quote openers directly using head pointers and cap the quote opener stack at 1,000 items, closing crafted Markdown with numerous opening quotes followed by mismatched closing quotes. Until patched, this is a concern on applications and services parsing untrusted Markdown with typographer mode or smartquotes enabled, so disable the typographer configuration option or explicitly disable the smartquotes rule in all markdown-it parser instances accepting user-supplied content. As a compensating measure, enforce RLIMIT_CPU limits on parser worker processes to bound maximum CPU time consumption, configure systemd watchdog monitoring and automatic restart directives to recover stalled parser processes, restrict the maximum character length and token count of accepted Markdown input, constrain CPU quotas using cgroups v2 to contain the blast radius of parser CPU exhaustion, and throttle incoming HTTP request rates and connections on endpoints accepting Markdown payloads. These controls limit blast radius and contain exploitation, but they do not fix the underlying quadratic quote rescanning complexity defect — apply the upstream patch to fully remediate.
Highest-impact CME: CME-1316 Algorithmic Complexity Safeguards (Pattern/Regex Execution Limits) (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
Frequently Asked Questions
Not sure what something means? Check out our Security Glossary.
Want to get errata notifications? Sign up here.