GitHub Advisoryadvisory · npm

GHSA-rrrm-qjm4-v8hf Inefficient Regular Expression Complexity in marked

HIGH Published 2022-01-14 Modified 2022-01-14 Official page ↗
Aliases
CVE-2022-21680
Ecosystem
npm
Packages
marked
Severity
High
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weaknesses
CWE-1333, CWE-400
Reviewed
2022-01-14

Affected packages

• npm marked: < 4.0.10 → fixed in 4.0.10

Description

Impact _What kind of vulnerability is it?_ Denial of service. The regular expression `block.def` may cause catastrophic backtracking against some strings. PoC is the following. ```javascript import * as marked from "marked"; marked.parse(`[x]:${' '.repeat(1500)}x ${' '.repeat(1500)} x`); ``` _Who is impacted?_ Anyone who runs untrusted markdown through marked and does not use a worker with a time limit. Patches _Has the problem been patched?_ Yes _What versions should users upgrade to?_ 4.0.10 Workarounds _Is there a way for users to fix or remediate the vulnerability without upgrading?_ Do not run untrusted markdown through marked or run marked on a worker thread and set a reasonable time limit to prevent draining resources. References _Are there any links users can visit to find out more?_ • https://marked.js.org/using_advanced#workers • https://owasp.org/www-community/attacks/Regular_expression_Denial_of_Service_-_ReDoS For more information If you have any questions or comments about this advisory: • Open an issue in marked

Related

Alias · CVE (1)

  • CVE-2022-21680 Marked is a markdown parser and compiler. vulnerability

Weakness · CWE (2)

  • CWE-1333 Inefficient Regular Expression Complexity weakness
  • CWE-400 Uncontrolled Resource Consumption weakness

References