Parsedown before 1.7.2, when safe mode is used and HTML markup is disabled, might allow attackers to execute arbitrary JavaScript code if a script (already running on the affected page) executes the contents of any element with a specific class. This occurs because spaces are permitted in code block infostrings, which interferes with the intended behavior of a single class name beginning with the language- substring.
References:- https://github.com/erusev/parsedown/issues/699
- https://github.com/FriendsOfPHP/security-advisories/blob/master/erusev/parsedown/CVE-2019-10905.yaml
- https://nvd.nist.gov/vuln/detail/CVE-2019-10905
- https://github.com/erusev/parsedown/releases/tag/1.7.2
- https://github.com/advisories/GHSA-62m3-fc7f-jpp8