Back to list

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
Date
Source
GitHub
Vendor
GitHub
Threat
medium
CVSS
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.