CVE-2026-59887 linkify-it: Quadratic-complexity DoS via the `mailto:` validator scan-loop on attacker text
Attackers can cause excessive CPU consumption and service disruption in applications using linkify-it by submitting crafted text with mailto links.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-59887?
CVE-2026-59887 is a high-severity denial of service vulnerability in markdown-it linkify-it, published on 8 Jul 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
linkify-it is a links recognition library with full Unicode support. Prior to 5.0.2, the mailto: schema validator used by .test() and .match() can be invoked at every mailto: occurrence and scan the remaining input through src_email_name in lib/re.mjs, causing O(n^2) CPU consumption on crafted user text. This issue is fixed in version 5.0.2.
Weakness: CWE-407
Which versions are affected by CVE-2026-59887?
2 open source packages ship an affected version, including linkify-it. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
linkify-it npm | All versions | 5.0.2 |
linkify-it npm | All versions | 5.0.2 |
Products include Markdown-It Linkify-It.
How do I fix CVE-2026-59887?
Upgrade linkify-it to 5.0.2 or later.
Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.
Is CVE-2026-59887 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-59887 exists.
Other vulnerabilities in markdown-it linkify-it
Sources
Also known as CLEANSTART-2026-EA45070, CLSA-2026-1784682996, CLSA-2026-1784856031, CLSA-2026-1790520316, CLSA-2026-1792489196, CLSA-2026-1792489445 and 25 more.