{"api_version":"1","generated_at":"2026-05-16T00:54:37+00:00","cve":"CVE-2016-10531","urls":{"html":"https://cve.report/CVE-2016-10531","api":"https://cve.report/api/cve/CVE-2016-10531.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2016-10531","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2016-10531"},"summary":{"title":"CVE-2016-10531","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.","state":"PUBLIC","assigner":"support@hackerone.com","published_at":"2018-05-31 20:29:00","updated_at":"2019-10-09 23:16:00"},"problem_types":["CWE-79"],"metrics":[],"references":[{"url":"https://github.com/chjj/marked/pull/592/commits/2cff85979be8e7a026a9aca35542c470cf5da523","name":"https://github.com/chjj/marked/pull/592/commits/2cff85979be8e7a026a9aca35542c470cf5da523","refsource":"MISC","tags":["Patch","Third Party Advisory"],"title":"XSS with HTML entities by matt- · Pull Request #592 · markedjs/marked · GitHub","mime":"text/html","httpstatus":"200","archivestatus":"200"},{"url":"https://github.com/chjj/marked/pull/592","name":"https://github.com/chjj/marked/pull/592","refsource":"MISC","tags":["Exploit","Issue Tracking","Third Party Advisory"],"title":"XSS with HTML entities by matt- · Pull Request #592 · markedjs/marked · GitHub","mime":"text/html","httpstatus":"200","archivestatus":"200"},{"url":"https://nodesecurity.io/advisories/101","name":"https://nodesecurity.io/advisories/101","refsource":"MISC","tags":["Third Party Advisory"],"title":"Overview","mime":"text/html","httpstatus":"200","archivestatus":"200"},{"url":"https://www.cve.org/CVERecord?id=CVE-2016-10531","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2016-10531","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[{"cve_year":"2016","cve_id":"10531","vulnerable":"1","versionEndIncluding":"0.3.5","cpe1":"cpe","cpe2":"2.3","cpe3":"a","cpe4":"marked_project","cpe5":"marked","cpe6":"*","cpe7":"*","cpe8":"*","cpe9":"*","cpe10":"*","cpe11":"node.js","cpe12":"*","cpe13":"*"}],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[{"cve":"CVE-2016-10531","qid":"983172","title":"Nodejs (npm) Security Update for marked (GHSA-vfvf-mqq8-rwqc)"}]},"source_records":{"cve_program":{"CVE_data_meta":{"ASSIGNER":"support@hackerone.com","DATE_PUBLIC":"2018-04-26T00:00:00","ID":"CVE-2016-10531","STATE":"PUBLIC"},"affects":{"vendor":{"vendor_data":[{"product":{"product_data":[{"product_name":"marked node module","version":{"version_data":[{"version_value":"<=0.3.5"}]}}]},"vendor_name":"HackerOne"}]}},"data_format":"MITRE","data_type":"CVE","data_version":"4.0","description":{"description_data":[{"lang":"eng","value":"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."}]},"problemtype":{"problemtype_data":[{"description":[{"lang":"eng","value":"Cross-site Scripting (XSS) - Generic (CWE-79)"}]}]},"references":{"reference_data":[{"name":"https://nodesecurity.io/advisories/101","refsource":"MISC","url":"https://nodesecurity.io/advisories/101"},{"name":"https://github.com/chjj/marked/pull/592/commits/2cff85979be8e7a026a9aca35542c470cf5da523","refsource":"MISC","url":"https://github.com/chjj/marked/pull/592/commits/2cff85979be8e7a026a9aca35542c470cf5da523"},{"name":"https://github.com/chjj/marked/pull/592","refsource":"MISC","url":"https://github.com/chjj/marked/pull/592"}]}},"nvd":{"publishedDate":"2018-05-31 20:29:00","lastModifiedDate":"2019-10-09 23:16:00","problem_types":["CWE-79"],"metrics":{"baseMetricV3":{"cvssV3":{"version":"3.0","vectorString":"CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"REQUIRED","scope":"CHANGED","confidentialityImpact":"LOW","integrityImpact":"LOW","availabilityImpact":"NONE","baseScore":6.1,"baseSeverity":"MEDIUM"},"exploitabilityScore":2.8,"impactScore":2.7},"baseMetricV2":{"cvssV2":{"version":"2.0","vectorString":"AV:N/AC:M/Au:N/C:N/I:P/A:N","accessVector":"NETWORK","accessComplexity":"MEDIUM","authentication":"NONE","confidentialityImpact":"NONE","integrityImpact":"PARTIAL","availabilityImpact":"NONE","baseScore":4.3},"severity":"MEDIUM","exploitabilityScore":8.6,"impactScore":2.9,"obtainAllPrivilege":false,"obtainUserPrivilege":false,"obtainOtherPrivilege":false,"userInteractionRequired":true}},"configurations":{"CVE_data_version":"4.0","nodes":[{"operator":"OR","children":[],"cpe_match":[{"vulnerable":true,"cpe23Uri":"cpe:2.3:a:marked_project:marked:*:*:*:*:*:node.js:*:*","versionEndIncluding":"0.3.5","cpe_name":[]}]}]}},"legacy_mitre":{"record":{"CveYear":"2016","CveId":"10531","Ordinal":"113749","Title":"CVE-2016-10531","CVE":"CVE-2016-10531","Year":"2016"},"notes":[{"CveYear":"2016","CveId":"10531","Ordinal":"1","NoteData":"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.","Type":"Description","Title":null},{"CveYear":"2016","CveId":"10531","Ordinal":"2","NoteData":"2018-05-31","Type":"Other","Title":"Published"},{"CveYear":"2016","CveId":"10531","Ordinal":"3","NoteData":"2018-05-31","Type":"Other","Title":"Modified"}]}}}