Description
marked is an application that is meant to parse and compile markdown. Due to the way that marked 0.3.5 and earlier parses input, specifically HTML entities, it's possible to bypass marked's content injection protection (`sanitize: true`) to inject a `javascript:` URL. This flaw exists because `NNanything;` gets parsed to what it could and leaves the rest behind, resulting in just `anything;` being left.
Remediation
References
https://github.com/chjj/marked/pull/592
https://github.com/chjj/marked/pull/592/commits/2cff85979be8e7a026a9aca35542c470cf5da523
https://nodesecurity.io/advisories/101
Related Vulnerabilities
CVE-2020-35202 Vulnerability in maven package org.igniterealtime.openfire.plugins:dbaccess
CVE-2020-7709 Vulnerability in npm package json-pointer
CVE-2022-21222 Vulnerability in npm package css-what
CVE-2023-27495 Vulnerability in npm package @fastify/csrf-protection
CVE-2023-22621 Vulnerability in npm package @strapi/plugin-users-permissions