CVE-2026-2327: 
JavaScript vulnerability analysis and mitigation

Overview

CVE-2026-2327 is a Regular Expression Denial of Service (ReDoS) vulnerability in the markdown-it npm package, affecting versions 13.0.0 through 14.1.0 (i.e., before 14.1.1). The flaw resides in the linkify inline rule, where the regex /\*+$/ is used to strip trailing asterisks from URLs — a pattern susceptible to catastrophic backtracking when fed specially crafted input. The vulnerability was originally reported by researcher Duc Le Trung (ltduc147) and disclosed on February 12, 2026. It carries a CVSS v3.1 base score of 7.5 (High) and a CVSS v4.0 base score of 5.5 (Medium) (Red Hat CVE, Snyk).

Technical details

The root cause is classified as CWE-1333 (Inefficient Regular Expression Complexity). The vulnerable code is located in markdown-it/lib/rules_inline/linkify.mjs, where the expression /\*+$/ is applied to strip trailing asterisk characters from detected URLs. Because this regex uses a greedy quantifier anchored to the end of the string, a JavaScript regex engine must perform exponential backtracking when given a long sequence of * characters followed by a non-matching character (e.g., https://test.com? + *.repeat(N) + a). The attack is network-accessible, requires no authentication or user interaction, and is only triggered when the linkify: true option is enabled. A public proof-of-concept demonstrating the issue is available (GitHub Gist, GitHub Commit).

Impact

Successful exploitation causes excessive CPU consumption in the Node.js process rendering the markdown, leading to application hangs and denial-of-service conditions. The impact is limited entirely to availability — there is no confidentiality or integrity impact, and no data exfiltration or lateral movement is possible through this vulnerability alone. Any application that accepts user-supplied markdown input and renders it with markdown-it configured with linkify: true is at risk of being rendered unresponsive (Snyk, Red Hat Bugzilla).

Exploitability

A public proof-of-concept exploit exists as a GitHub Gist published by the original reporter, demonstrating measurable processing delays with inputs as short as tens of thousands of asterisk characters (GitHub Gist). Snyk classifies the exploit maturity as "Proof of Concept." There is no evidence of in-the-wild exploitation or threat actor attribution at this time. The EPSS score is approximately 0.013% (6th percentile), indicating a low probability of active exploitation (Snyk). The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog.

Exploitation steps

  1. Identify target: Locate a web application or service that accepts user-supplied markdown input and renders it server-side using markdown-it with the linkify: true option enabled, running versions 13.0.0–14.1.0.
  2. Craft malicious payload: Construct an input string containing a URL-like prefix followed by a large number of asterisk characters and a trailing non-matching character, e.g.:
    https://test.com?<repeated '*' characters (e.g., 100,000)>a
  3. Submit payload: Send the crafted string as markdown input to the target application (e.g., via a comment field, document editor, or API endpoint that processes markdown).
  4. Trigger ReDoS: The linkify rule in markdown-it applies the regex /\*+$/ to the detected URL, causing the JavaScript regex engine to perform catastrophic backtracking proportional to the number of asterisks.
  5. Achieve denial of service: The server-side Node.js process becomes CPU-bound processing the regex, causing the application to hang or become unresponsive to other requests (GitHub Gist, Snyk).

Indicators of compromise

  • Application Behavior: Sudden, sustained CPU spikes in Node.js processes handling markdown rendering; application threads becoming unresponsive or timing out during markdown processing.
  • Logs: Requests containing unusually long strings with repetitive * characters in input fields that feed into markdown rendering pipelines; HTTP requests with abnormally large payloads directed at markdown-processing endpoints.
  • Process: Node.js worker processes consuming near 100% CPU for extended periods without completing; event loop lag metrics spiking in application performance monitoring tools.
  • Network: Repeated submissions of large payloads (tens to hundreds of kilobytes of asterisk characters) from the same source IP to markdown-rendering endpoints.

Mitigation and workarounds

The primary remediation is to upgrade markdown-it to version 14.1.1 or later, which replaces the vulnerable regex with a manual character-by-character backsearch that avoids catastrophic backtracking (GitHub Commit). For systems that cannot patch immediately, consider disabling the linkify option (linkify: false) in markdown-it configuration, as the vulnerable code path is only triggered when linkification is enabled. Additionally, implement input length validation or rate limiting on endpoints that accept and render user-supplied markdown to reduce exposure. IBM has released updated advisories for affected products including IBM API Connect, IBM Cloud Pak for Automation, IBM Business Automation Workflow, IBM MQ Operator, and others (IBM Advisory).

Community reactions

Red Hat tracked the vulnerability via Bugzilla with medium severity and assigned it to their Product Security DevOps Team, with multiple downstream Red Hat products listed as dependencies (Red Hat Bugzilla). IBM issued multiple security bulletins across a broad range of enterprise products that bundle markdown-it, including API Connect, Cloud Pak for Automation, Business Automation Workflow, MQ Operator, and Instana Observability (IBM Advisory). Snyk published a detailed vulnerability entry crediting researcher Duc Le Trung and classifying the exploit maturity as proof-of-concept (Snyk). The NetBox community also opened a tracking issue to address the dependency (GitHub Issue).

Additional resources

Linux Distribution fix status

Fix availability across major Linux distributions and their releases.

Debian

Fixed

bookworm

node-markdown-it

Fixed

sid

node-markdown-it

Fixed

trixie

node-markdown-it

Fixed

Ubuntu

Unknown

devel

node-markdown-it

Unknown

jammy

node-markdown-it

Unknown

jammy (esm-apps)

node-markdown-it

Unknown

noble

node-markdown-it

Unknown

noble (esm-apps)

node-markdown-it

Unknown

resolute

node-markdown-it

Unknown

resolute (esm-apps)

node-markdown-it

Unknown

RHEL / CentOS

Affected

OpenShift

Not Affected

Source: This report was generated using AI

Related JavaScript vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

GHSA-966w-4vpf-p7hcHIGH7.1
  • JavaScript logoJavaScript
  • @aloma.io/aloma
NoYesOct 25, 2026
GHSA-mrwp-f3q8-3g9pMEDIUM5.9
  • JavaScript logoJavaScript
  • follow-redirects
NoYesOct 25, 2026
GHSA-hfm3-x63j-7fxpHIGHN/A
  • JavaScript logoJavaScript
  • @payload-auth-link/migrate
NoYesOct 25, 2026
GHSA-6244-vvv9-76f5MEDIUMN/A
  • JavaScript logoJavaScript
  • @payload-auth-link/plugin
NoYesOct 25, 2026
GHSA-q53q-qg98-p9jfHIGHN/A
  • JavaScript logoJavaScript
  • llm-fw
NoYesOct 25, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Additional Wiz resources

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management