CVE-2026-111759

markdown-it: Quadratic complexity in smartquotes with unmatched closing quotes

Published Oct 19, 2026 CVSS 3.1 · 7.5 High EPSS < 1% KEV · Not listed
Description
markdown-it is a Markdown parser. Prior to 14.3.2 and 15.0.2, when typographer: true is enabled, specially crafted Markdown can cause quadratic processing time in the smartquotes rule, potentially leading to denial of service in applications processing untrusted input. Many opening double quotes followed by unmatched closing single quotes cause repeated scans of the entire opener stack. The same issue occurs with the quote types reversed. The default configuration (typographer: false) is not affected, but this option is enabled with high probability. This issue is fixed in versions 14.3.2 and 15.0.2.

Remediation

No solution or workaround provided in the CVE record

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Github GHSA Github GHSA GHSA-r7fv-28h4-cvq7 markdown-it: Quadratic complexity in smartquotes with unmatched closing quotes
History
Type Values Removed Values Added
First Time appeared Markdown-it
Markdown-it markdown-it
Vendors & Products Markdown-it
Markdown-it markdown-it
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
Description markdown-it is a Markdown parser. Prior to 14.3.2 and 15.0.2, smartquotes is affected: many opening quotes of one type followed by unmatched closing quotes of the other type cause the smartquotes rule to repeatedly scan the entire opener stack, resulting in quadratic processing time. The root cause is each mismatched quote closer repeatedly scans the opener stack for a compatible quote type. The attack mechanism is quadratic rescanning of the quote opener stack. The affected identifiers are smartquotes and typographer. The trigger conditions are attacker-controlled Markdown with many openers of one quote type and unmatched closers of the other type and typographer mode is enabled. The impact is denial of service through excessive parsing time. The vulnerable path requires typographer mode; disabling typographer or the smartquotes rule prevents the affected processing. This issue is fixed in versions 14.3.2 and 15.0.2. markdown-it is a Markdown parser. Prior to 14.3.2 and 15.0.2, when typographer: true is enabled, specially crafted Markdown can cause quadratic processing time in the smartquotes rule, potentially leading to denial of service in applications processing untrusted input. Many opening double quotes followed by unmatched closing single quotes cause repeated scans of the entire opener stack. The same issue occurs with the quote types reversed. The default configuration (typographer: false) is not affected, but this option is enabled with high probability. This issue is fixed in versions 14.3.2 and 15.0.2.
Type Values Removed Values Added
Description markdown-it is a Markdown parser. Prior to 14.3.2 and 15.0.2, smartquotes is affected: many opening quotes of one type followed by unmatched closing quotes of the other type cause the smartquotes rule to repeatedly scan the entire opener stack, resulting in quadratic processing time. The root cause is each mismatched quote closer repeatedly scans the opener stack for a compatible quote type. The attack mechanism is quadratic rescanning of the quote opener stack. The affected identifiers are smartquotes and typographer. The trigger conditions are attacker-controlled Markdown with many openers of one quote type and unmatched closers of the other type and typographer mode is enabled. The impact is denial of service through excessive parsing time. The vulnerable path requires typographer mode; disabling typographer or the smartquotes rule prevents the affected processing. This issue is fixed in versions 14.3.2 and 15.0.2.
Title markdown-it: Quadratic complexity in smartquotes with unmatched closing quotes
Weaknesses CWE-400
CWE-407
References
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'}

Weaknesses

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Oct 19, 2026, 6:22 PM
Reserved
Oct 16, 2026, 5:52 PM
Status
Awaiting Analysis
Published
Oct 19, 2026, 6:17 PM
Modified
Oct 19, 2026, 9:13 PM
Severity
Important
Public date
Oct 19, 2026, 5:39 PM