Sceawere
Vulnerability Detail
CVE-2026-67422UPDATED Verified Sceawere Triage Sources: NVD / CISA KEV
Pymdown-extensions ReDoS Denial of Service
Vulnerability Metadata
- Severity
- High
- Score / CVSS
- 7.5
- Creation Date
- 1d ago
- Vendor
- facelessuser
- Product
- pymdown-extensions
- Attack Type
- CWE-1333: Inefficient Regular Expression Complexity
- Vector String
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- Attack Complexity
- LOW
Narrative and Response
Description
pymdown-extensions is a collection of extensions for the Python Markdown library. In versions up to and including 11.0, four inline processors (caret, tilde, betterem, and magiclink) use regular expressions whose content groups can partition a run of delimiter characters in exponentially many ways, causing catastrophic backtracking. As a result, a single untrusted Markdown line under 50 bytes rendered with markdown.markdown() in each extension's default configuration drives the rendering thread into unbounded CPU usage that grows exponentially with input length, enabling an unauthenticated remote attacker who can submit Markdown to cause denial of service. The exposure is concrete for web applications that render user-supplied Markdown (comments, wikis, issue bodies, live preview), including any app using pymdownx.extra which bundles the vulnerable betterem default, as well as hosted docs/CI systems that build untrusted Markdown. The issue has been fixed in version 11.0.1.
Executive Summary
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Technical Details
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Mitigations
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
References
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Additional Metadata
{
"score": "7.5",
"pubDate": "2026-08-06T22:18:21.600Z",
"pubdate": "2026-08-06T22:18:21.600Z",
"executiveSummary": "A Regular Expression Denial of Service (ReDoS) vulnerability exists in the pymdown-extensions package in versions up to and including 11.0. The vulnerability affects four inline processors—caret, tilde, betterem, and magiclink—which utilize vulnerable regular expressions capable of triggering catastrophic backtracking when parsing specific delimiter character sequences. An unauthenticated remote attacker can exploit this flaw by submitting a specially crafted, untrusted Markdown input of under 50 bytes to applications using markdown.markdown() with the affected extensions enabled. This malicious payload drives the rendering thread into unbounded CPU consumption that scales exponentially with the input length, directly resulting in a complete denial of service (DoS). The exposure severely impacts web applications that dynamically render user-supplied Markdown, such as comments sections, wikis, issue trackers, live preview features, and any application utilizing pymdownx.extra due to its bundling of the vulnerable betterem default configuration. Hosted documentation and continuous integration (CI) systems processing untrusted Markdown are similarly at high risk. Exploitation requires no prior authentication or elevated privileges, relying solely on the application's ingestion and rendering of untrusted Markdown strings.",
"technicalDetails": "The root cause of the vulnerability resides in inefficient regular expression design within four distinct inline processors of pymdown-extensions: caret, tilde, betterem, and magiclink. Specifically, the internal regular expressions are structured in a manner where content groups can partition a contiguous run of delimiter characters in exponentially numerous combinations. When the Python Markdown engine processes an adversarial input containing these specific delimiter patterns, the regular expression engine enters a state of catastrophic backtracking. This causes the parsing thread to consume 100% of available CPU resources on a single core for extended periods, effectively halting concurrent request processing and causing a denial of service.\nThe vulnerable components are the inline processors (caret, tilde, betterem, and magiclink) operating within pymdown-extensions versions up to and including 11.0. Applications utilizing pymdownx.extra are inherently vulnerable because the bundle includes the vulnerable betterem processor in its default configuration.\nThe attack flow proceeds as follows: First, an unauthenticated remote attacker crafts an adversarial Markdown payload under 50 bytes in length containing precisely structured delimiter patterns targeting the caret, tilde, betterem, or magiclink processors. Second, the attacker submits this payload to a vulnerable target application via an exposed ingestion vector, such as a comment submission form, wiki edit interface, issue body, or live preview endpoint. Third, the application passes the untrusted string to the markdown.markdown() function with the affected extensions enabled. Fourth, during the parsing phase, the vulnerable regular expressions trigger catastrophic backtracking as they attempt to evaluate the malformed delimiter runs. Finally, the rendering thread enters an unbounded CPU usage loop, starving other threads and processes of resources, which leads to application unresponsiveness or complete service degradation.\nNetwork exposure is broad, affecting any web application, hosted documentation platform, or CI system that processes untrusted Markdown inputs over standard network protocols. No privileges or authentication are required to execute the attack, as long as the application exposes an interface for submitting Markdown content."
}