GitHub Advisoryadvisory · npm
GHSA-5v2h-r2cx-5xgj Inefficient Regular Expression Complexity in marked
HIGH
Official page ↗
- Aliases
- CVE-2022-21681
- 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
- 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 `inline.reflinkSearch` may cause catastrophic backtracking against some strings.
PoC is the following.
```javascript
import * as marked from 'marked';
console.log(marked.parse(`[x]: 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-21681 Marked is a markdown parser and compiler. vulnerability
Weakness · CWE (1)
- CWE-1333 Inefficient Regular Expression Complexity weakness
References
- https://github.com/markedjs/marked/security/advisories/GHSA-5v2h-r2cx-5xgj web
- https://nvd.nist.gov/vuln/detail/CVE-2022-21681 advisory
- https://github.com/markedjs/marked/commit/8f806573a3f6c6b7a39b8cdb66ab5ebb8d55a5f5 web
- https://github.com/markedjs/marked/commit/c4a3ccd344b6929afa8a1d50ac54a721e57012c0 web
- https://github.com/markedjs/marked package
- https://lists.fedoraproject.org/archives/list/[email protected]/message/AIXDMC3CSHYW3YWVSQOXAWLUYQHAO5UX web