markdown-it linkify: true has two quadratic paths, so a few hundred KB of markdown blocks the event loop for tens of seconds — GHSA-253C-MCHW-3W2R
GitHub · GitHub · GHSA-253C-MCHW-3W2R
ID
GHSA-253C-MCHW-3W2R
GHSA-253C-MCHW-3W2R
Date
Source
GitHub
GitHub
Vendor
GitHub
GitHub
Threat
medium
medium
CVSS
6.3
6.3
Summary
## Summary Two independent quadratic paths in the `linkify: true` handling. Both are in markdown-it's own code rather than in linkify-it, which stays linear on both payloads. `src/rules_core/linkify.ts` calls `arrayReplaceAt` once per linkified text token, and that rebuilds the whole `children` array each time. A paragraph of N soft-broken lines is one inline token with about 2N children, so you get N rebuilds over…
Timeline
- Published by source
- 2026-09-29
Risk context
- Reported severity or threat level: medium.
- Reported CVSS score: 6.3 out of 10.
- Review exposure for the affected product or family: npm: markdown-it.
Product
npm: markdown-it
What to do
General, cautious steps (verify details in the official source):
- Review exposure and plan remediation based on risk and environment.
- Identify affected product versions in your inventory and verify whether you are impacted.
- Apply vendor patches/updates or recommended mitigations as soon as available.
- Read the official advisory for exact affected versions and remediation steps.
Official advisory
Evidence and provenance
- Canonical advisory ID
- GHSA-253C-MCHW-3W2R
- Source
- GitHub
- Vendor
- GitHub
- Published by source
- 2026-09-29
- Last source activity
- 2026-09-29
- Curated by
- hlukh.ch
Related advisories and connections
These advisories are connected by shared CVE, product, vendor, source, or time signals.