First published: Fri Jan 14 2022(Updated: )
### 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](https://marked.js.org/using_advanced#workers) 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](https://github.com/markedjs/marked)
Credit: security-advisories@github.com security-advisories@github.com security-advisories@github.com
Affected Software | Affected Version | How to fix |
---|---|---|
npm/marked | <4.0.10 | 4.0.10 |
redhat/markedjs | <4.0.10 | 4.0.10 |
Marked Project | <4.0.10 | |
Red Hat Fedora | =36 |
Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.
The severity of CVE-2022-21680 is classified as a denial of service vulnerability.
CVE-2022-21680 can be exploited through specially crafted input that causes catastrophic backtracking in the regular expression `block.def`.
To fix CVE-2022-21680, upgrade to marked version 4.0.10 or later.
CVE-2022-21680 affects the marked package versions prior to 4.0.10.
Yes, CVE-2022-21680 is relevant to systems using marked, including those running Fedora 36.