Security advisory
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.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2016-10531
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 31 Oct 2026, 09:41 UTC · Revision 1
Source evidence
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.
osv:CVE-2016-10531
Complete source record
{
"id": "695f65354899fe505464b0caa7f8826515a9e7fcb4787210b1dc2200f5ca4529",
"url": "https://osv.dev/vulnerability/CVE-2016-10531",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "CVE-2016-10531",
"summary": "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.",
"evidence": "osv:CVE-2016-10531",
"products": [],
"severity": "medium",
"structured": {
"id": "CVE-2016-10531",
"aliases": [
"CVE-2016-10531",
"GHSA-vfvf-mqq8-rwqc"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/markedjs/marked",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"last_affected": "88ce4df47c4d994dc1b1df1477a21fb893e11ddc"
}
],
"database_specific": {
"extracted_events": [
{
"cpe": "cpe:2.3:a:marked_project:marked:*:*:*:*:*:node.js:*:*",
"range": [
{
"introduced": "0"
},
{
"last_affected": "0.3.5"
}
],
"source": "CPE_RANGE"
}
]
}
}
],
"versions": [
"v0.3.5",
"v0.3.4",
"v0.3.3",
"v0.3.2",
"v0.3.1",
"v0.3.0",
"v0.2.10",
"v0.2.9",
"v0.2.8",
"v0.2.7",
"v0.2.6",
"v0.2.5",
"v0.2.4",
"v0.2.3",
"v0.2.2",
"v0.2.1",
"v0.2.0",
"v0.1.9",
"v0.1.8",
"v0.1.7",
"v0.1.6",
"v0.1.5",
"v0.1.4",
"v0.1.3",
"v0.1.2",
"v0.1.1",
"v0.1.0",
"v0.0.9",
"v0.0.8",
"v0.0.7",
"v0.0.6",
"v0.0.5",
"v0.0.4",
"v0.0.3",
"v0.0.2",
"v0.0.1"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2016-10531.json"
}
}
],
"modified": "2026-10-20T10:47:35.015434752Z",
"provider": "osv",
"references": [
"https://nodesecurity.io/advisories/101",
"https://github.com/chjj/marked/pull/592",
"https://github.com/chjj/marked/pull/592/commits/2cff85979be8e7a026a9aca35542c470cf5da523"
],
"provider_metadata": {}
},
"related_cves": [
{
"value": "CVE-2016-10531",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 379534,
"published_at": "2018-05-31T20:29:01.033+00:00"
}