{"api_version":"1","generated_at":"2026-07-24T17:17:58+00:00","cve":"CVE-2020-7749","urls":{"html":"https://cve.report/CVE-2020-7749","api":"https://cve.report/api/cve/CVE-2020-7749.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2020-7749","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2020-7749"},"summary":{"title":"CVE-2020-7749","description":"This affects all versions of package osm-static-maps. User input given to the package is passed directly to a template without escaping ({{{ ... }}}). As such, it is possible for an attacker to inject arbitrary HTML/JS code and depending on the context. It will be outputted as an HTML on the page which gives opportunity for XSS or rendered on the server (puppeteer) which also gives opportunity for SSRF and Local File Read.","state":"PUBLIC","assigner":"report@snyk.io","published_at":"2020-10-20 11:15:00","updated_at":"2021-07-21 11:39:00"},"problem_types":["CWE-79","CWE-74"],"metrics":[],"references":[{"url":"https://snyk.io/vuln/SNYK-JS-OSMSTATICMAPS-609637","name":"https://snyk.io/vuln/SNYK-JS-OSMSTATICMAPS-609637","refsource":"MISC","tags":["Exploit","Third Party Advisory"],"title":"Server-side Request Forgery (SSRF) in osm-static-maps | Snyk","mime":"text/html","httpstatus":"200","archivestatus":"200"},{"url":"https://github.com/jperelli/osm-static-maps/pull/24","name":"https://github.com/jperelli/osm-static-maps/pull/24","refsource":"MISC","tags":["Patch","Third Party Advisory"],"title":"fix: escape special characters before insertion to template by snoopysecurity · Pull Request #24 · jperelli/osm-static-maps · GitHub","mime":"text/html","httpstatus":"200","archivestatus":"200"},{"url":"https://github.com/jperelli/osm-static-maps/blob/master/src/template.html%23L142","name":"https://github.com/jperelli/osm-static-maps/blob/master/src/template.html%23L142","refsource":"MISC","tags":["Broken Link"],"title":"","mime":"","httpstatus":"","archivestatus":""},{"url":"https://github.com/jperelli/osm-static-maps/blob/master/src/template.html#L142","name":"MISC:https://github.com/jperelli/osm-static-maps/blob/master/src/template.html%23L142","refsource":"MITRE","tags":[],"title":"osm-static-maps/template.html at master · jperelli/osm-static-maps · GitHub","mime":"text/html","httpstatus":"200","archivestatus":"404"},{"url":"https://www.cve.org/CVERecord?id=CVE-2020-7749","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2020-7749","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[{"source":"LEGACY","value":"Vasilii Ermilov","lang":""}],"nvd_cpes":[{"cve_year":"2020","cve_id":"7749","vulnerable":"1","versionEndIncluding":"","cpe1":"cpe","cpe2":"2.3","cpe3":"a","cpe4":"osm-static-maps_project","cpe5":"osm-static-maps","cpe6":"*","cpe7":"*","cpe8":"*","cpe9":"*","cpe10":"*","cpe11":"node.js","cpe12":"*","cpe13":"*"},{"cve_year":"2020","cve_id":"7749","vulnerable":"1","versionEndIncluding":"1","cpe1":"cpe","cpe2":"2.3","cpe3":"a","cpe4":"osm-static-maps_project","cpe5":"osm-static-maps","cpe6":"*","cpe7":"*","cpe8":"*","cpe9":"*","cpe10":"*","cpe11":"node.js","cpe12":"*","cpe13":"*"}],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[{"cve":"CVE-2020-7749","qid":"981834","title":"Nodejs (npm) Security Update for osm-static-maps (GHSA-pxcf-v868-m492)"}]},"source_records":{"cve_program":{"data_type":"CVE","data_format":"MITRE","data_version":"4.0","CVE_data_meta":{"ASSIGNER":"report@snyk.io","DATE_PUBLIC":"2020-10-20T10:20:24.998257Z","ID":"CVE-2020-7749","STATE":"PUBLIC","TITLE":"Server-side Request Forgery (SSRF)"},"affects":{"vendor":{"vendor_data":[{"product":{"product_data":[{"product_name":"osm-static-maps","version":{"version_data":[{"version_affected":">=","version_value":"0"}]}}]},"vendor_name":"n/a"}]}},"problemtype":{"problemtype_data":[{"description":[{"lang":"eng","value":"Server-side Request Forgery (SSRF)"}]}]},"references":{"reference_data":[{"refsource":"MISC","url":"https://snyk.io/vuln/SNYK-JS-OSMSTATICMAPS-609637","name":"https://snyk.io/vuln/SNYK-JS-OSMSTATICMAPS-609637"},{"refsource":"MISC","url":"https://github.com/jperelli/osm-static-maps/blob/master/src/template.html%23L142","name":"https://github.com/jperelli/osm-static-maps/blob/master/src/template.html%23L142"},{"refsource":"MISC","url":"https://github.com/jperelli/osm-static-maps/pull/24","name":"https://github.com/jperelli/osm-static-maps/pull/24"}]},"description":{"description_data":[{"lang":"eng","value":"This affects all versions of package osm-static-maps. User input given to the package is passed directly to a template without escaping ({{{ ... }}}). As such, it is possible for an attacker to inject arbitrary HTML/JS code and depending on the context. It will be outputted as an HTML on the page which gives opportunity for XSS or rendered on the server (puppeteer) which also gives opportunity for SSRF and Local File Read."}]},"impact":{"cvss":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:L/E:U/RL:O/RC:R","baseScore":7.6,"baseSeverity":"HIGH","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"LOW","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"LOW","availabilityImpact":"LOW"}},"credit":[{"lang":"eng","value":"Vasilii Ermilov"}]},"nvd":{"publishedDate":"2020-10-20 11:15:00","lastModifiedDate":"2021-07-21 11:39:00","problem_types":["CWE-79","CWE-74"],"metrics":{"baseMetricV3":{"cvssV3":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:L","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"LOW","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"LOW","availabilityImpact":"LOW","baseScore":7.6,"baseSeverity":"HIGH"},"exploitabilityScore":2.8,"impactScore":4.7},"baseMetricV2":{"cvssV2":{"version":"2.0","vectorString":"AV:N/AC:L/Au:S/C:P/I:P/A:P","accessVector":"NETWORK","accessComplexity":"LOW","authentication":"SINGLE","confidentialityImpact":"PARTIAL","integrityImpact":"PARTIAL","availabilityImpact":"PARTIAL","baseScore":6.5},"severity":"MEDIUM","exploitabilityScore":8,"impactScore":6.4,"acInsufInfo":false,"obtainAllPrivilege":false,"obtainUserPrivilege":false,"obtainOtherPrivilege":false,"userInteractionRequired":false}},"configurations":{"CVE_data_version":"4.0","nodes":[{"operator":"OR","children":[],"cpe_match":[{"vulnerable":true,"cpe23Uri":"cpe:2.3:a:osm-static-maps_project:osm-static-maps:*:*:*:*:*:node.js:*:*","cpe_name":[]}]}]}},"legacy_mitre":{"record":{"CveYear":"2020","CveId":"7749","Ordinal":"168030","Title":"CVE-2020-7749","CVE":"CVE-2020-7749","Year":"2020"},"notes":[{"CveYear":"2020","CveId":"7749","Ordinal":"1","NoteData":"This affects all versions of package osm-static-maps. User input given to the package is passed directly to a template without escaping ({{{ ... }}}). As such, it is possible for an attacker to inject arbitrary HTML/JS code and depending on the context. It will be outputted as an HTML on the page which gives opportunity for XSS or rendered on the server (puppeteer) which also gives opportunity for SSRF and Local File Read.","Type":"Description","Title":null},{"CveYear":"2020","CveId":"7749","Ordinal":"2","NoteData":"2020-10-20","Type":"Other","Title":"Published"},{"CveYear":"2020","CveId":"7749","Ordinal":"3","NoteData":"2020-10-20","Type":"Other","Title":"Modified"}]}}}