Skip to content
OpenAdvisories
Medium · 6.1 CVE-2016-10531 EUVD-2019-0347GHSA-vfvf-mqq8-rwqc

Sanitization bypass using HTML Entities in marked

Published May 31, 2018 · Updated Sep 17, 2024 · Assigned by hackerone

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 `&#xNNanything;` gets parsed to what it could and leaves the rest behind, resulting in just `anything;` being left.

Affected products

VendorProductAffectedFixed
HackerOne marked node module <=0.3.5 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 node-marked 0.3.6+dfsg-1 —
Debian 13 node-marked 0.3.6+dfsg-1 —
Debian 12 node-marked 0.3.6+dfsg-1 —
ReleasePackageFixed inAdvisory
Ubuntu 16.04 LTS node-marked No fix yet —

Affected packages

EcosystemPackageAffectedFixedRecord
npm marked < 0.3.6 0.3.6 GHSA-vfvf-mqq8-rwqc

References