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.
Published: 2026-07-08
Score: 7.5 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

linkify‑it contains a mailto: schema validator that, when invoked on each mailto: occurrence, scans the remaining input with the src_email_name function, producing an O(n²) CPU consumption pattern. This inefficiency can be triggered by specially crafted user text, leading to high CPU usage and eventually causing the process that uses linkify‑it to become unresponsive or crash. This flaw corresponds to CWE-407, an inefficient algorithm that results in quadratic time complexity.

Affected Systems

The vulnerability exists in linkify‑it versions earlier than 5.0.2. Applications that bundle linkify‑it as part of markdown-it or other markdown processors, such as web frameworks or content‑management systems that accept user‑supplied markdown, are at risk if they have not upgraded to a fixed version.

Risk and Exploitability

The CVSS score of 7.5 signals high severity, while the EPSS score of less than 1% indicates a very low but non‑zero probability of exploitation. The vulnerability is not listed in CISA’s KEV catalog. Attackers can exploit this by supplying heavily crafted text containing many mailto: links to any application that processes that text with() or .match() methods. Because the attack merely requires uncontrolled input, it can be executed remotely without privileged access and can exhaust server resources, resulting in a denial of service.

Generated by OpenCVE AI on July 28, 2026 at 09:12 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade linkify‑it to version 5.0.2 or later, which removes the quadratic scan loop.
  • If upgrading is not immediately possible, restrict or disable use of the .test() and .match() methods for untrusted input, or impose a size limit on the text before calling them.
  • Review dependent applications (such as) for similar vulnerabilities and apply patches or configurations that limit CPU usage when processing user input.

Generated by OpenCVE AI on July 28, 2026 at 09:12 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-v245-v573-v5vm linkify-it: Quadratic-complexity DoS via the `mailto:` validator scan-loop on attacker text
History

Fri, 10 Jul 2026 10:15:00 +0000

Type Values Removed Values Added
First Time appeared Markdown-it
Markdown-it linkify-it
Vendors & Products Markdown-it
Markdown-it linkify-it

Thu, 09 Jul 2026 16:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

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


Wed, 08 Jul 2026 16:30:00 +0000

Type Values Removed Values Added
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.
Title linkify-it: Quadratic-complexity DoS via the `mailto:` validator scan-loop on attacker text
Weaknesses 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'}


Subscriptions

Markdown-it Linkify-it
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-07-09T14:41:02.113Z

Reserved: 2026-07-07T16:40:07.983Z

Link: CVE-2026-59887

cve-icon Vulnrichment

Updated: 2026-07-09T14:40:49.708Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-07-28T09:15:06Z

Weaknesses
  • CWE-407

    Inefficient Algorithmic Complexity