CVE-2019-12041
Description
CVE-2019-12041: Regular Expression Denial of Service (ReDoS) in remarkable 1.7.1 via crafted CDATA sections.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
CVE-2019-12041: Regular Expression Denial of Service (ReDoS) in remarkable 1.7.1 via crafted CDATA sections.
Vulnerability
CVE-2019-12041 describes a Regular Expression Denial of Service (ReDoS) vulnerability in the remarkable markdown parser, version 1.7.1. The flaw exists in the file lib/common/html_re.js, specifically in the regular expression handling CDATA sections. When processing a crafted CDATA section, the regex can cause catastrophic backtracking, leading to excessive CPU consumption [1][2].
Exploitation
An attacker can exploit this vulnerability by sending a specially crafted markdown document containing a malicious CDATA section to an application that uses remarkable. No authentication is required; the attack can be triggered simply by parsing the input. The vulnerable regex pattern leads to exponential time complexity when matching certain invalid inputs, causing the parser to hang or take an extremely long time to complete [2][3].
Impact
Successful exploitation results in a denial of service condition. The application becomes unresponsive due to high CPU usage, potentially affecting all users relying on the service. This can be leveraged to disrupt operations or as part of a larger attack chain.
Mitigation
The vulnerability was addressed in a pull request (#335) merged into the remarkable repository on July 26, 2019, and is fixed in versions after 1.7.1 [1][4]. Users should update to the latest version of remarkable to mitigate this risk. There are no known workarounds besides upgrading.
AI Insight generated on May 22, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.
Affected packages
Versions sourced from the GitHub Security Advisory.
| Package | Affected versions | Patched versions |
|---|---|---|
remarkablenpm | < 1.7.2 | 1.7.2 |
Affected products
2- remarkable/remarkabledescription
Patches
1287dfbf22e70Prevent a ReDoS vulnerability (#335)
2 files changed · +13 −2
lib/common/html_re.js+2 −2 modified@@ -41,10 +41,10 @@ var open_tag = replace(/<[A-Za-z][A-Za-z0-9]*attribute*\s*\/?>/) (); var close_tag = /<\/[A-Za-z][A-Za-z0-9]*\s*>/; -var comment = /<!--([^-]+|[-][^-]+)*-->/; +var comment = /<!---->|<!--(?:-?[^>-])(?:-?[^-])*-->/; var processing = /<[?].*?[?]>/; var declaration = /<![A-Z]+\s+[^>]*>/; -var cdata = /<!\[CDATA\[([^\]]+|\][^\]]|\]\][^>])*\]\]>/; +var cdata = /<!\[CDATA\[[\s\S]*?\]\]>/; var HTML_TAG_RE = replace(/^(?:open_tag|close_tag|comment|processing|declaration|cdata)/) ('open_tag', open_tag)
test/fixtures/remarkable/redos.txt+11 −0 added@@ -0,0 +1,11 @@ +. +<a>ReDoS</a><![CDATA[aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa]] > +. +<p><a>ReDoS</a><![CDATA[aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa]] ></p> +. + +. +<a>z</a><!--aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa---> +. +<p><a>z</a><!–aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa—></p> +.
Vulnerability mechanics
Generated on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
6- github.com/advisories/GHSA-q22g-8fr4-qpj4ghsaADVISORY
- nvd.nist.gov/vuln/detail/CVE-2019-12041ghsaADVISORY
- github.com/jonschlinkert/remarkable/commit/287dfbf22e70790c8b709ae37a5be0523597673cghsaWEB
- github.com/jonschlinkert/remarkable/issues/331ghsax_refsource_MISCWEB
- github.com/jonschlinkert/remarkable/pull/335ghsaWEB
- snyk.io/vuln/SNYK-JS-REMARKABLE-174639ghsaWEB
News mentions
0No linked articles in our index yet.