{"api_version":"1","generated_at":"2026-04-23T16:55:58+00:00","cve":"CVE-2023-39916","urls":{"html":"https://cve.report/CVE-2023-39916","api":"https://cve.report/api/cve/CVE-2023-39916.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2023-39916","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2023-39916"},"summary":{"title":"CVE-2023-39916","description":"NLnet Labs’ Routinator 0.9.0 up to and including 0.12.1 contains a possible path traversal vulnerability in the optional, off-by-default keep-rrdp-responses feature that allows users to store the content of responses received for RRDP requests. The location of these stored responses is constructed from the URL of the request. Due to insufficient sanitation of the URL, it is possible for an attacker to craft a URL that results in the response being stored outside of the directory specified for it.","state":"PUBLIC","assigner":"sep@nlnetlabs.nl","published_at":"2023-09-13 15:15:00","updated_at":"2023-09-19 04:05:00"},"problem_types":["CWE-22"],"metrics":[],"references":[{"url":"https://nlnetlabs.nl/downloads/routinator/CVE-2023-39916.txt","name":"https://nlnetlabs.nl/downloads/routinator/CVE-2023-39916.txt","refsource":"MISC","tags":[],"title":"","mime":"text/plain","httpstatus":"200","archivestatus":"404"},{"url":"https://www.cve.org/CVERecord?id=CVE-2023-39916","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2023-39916","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[{"cve_year":"2023","cve_id":"39916","vulnerable":"1","versionEndIncluding":"","cpe1":"cpe","cpe2":"2.3","cpe3":"a","cpe4":"nlnetlabs","cpe5":"routinator","cpe6":"*","cpe7":"*","cpe8":"*","cpe9":"*","cpe10":"*","cpe11":"*","cpe12":"*","cpe13":"*"}],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[{"cve":"CVE-2023-39916","qid":"691301","title":"Free Berkeley Software Distribution (FreeBSD) Security Update for routinator (11982747-544c-11ee-ac3e-a04a5edf46d9)"},{"cve":"CVE-2023-39916","qid":"691307","title":"Free Berkeley Software Distribution (FreeBSD) Security Update for routinator (ea9d1fd2-5d24-11ee-8507-b42e991fc52e)"}]},"source_records":{"cve_program":{"data_version":"4.0","data_type":"CVE","data_format":"MITRE","CVE_data_meta":{"ID":"CVE-2023-39916","ASSIGNER":"sep@nlnetlabs.nl","STATE":"PUBLIC"},"description":{"description_data":[{"lang":"eng","value":"NLnet Labs’ Routinator 0.9.0 up to and including 0.12.1 contains a possible path traversal vulnerability in the optional, off-by-default keep-rrdp-responses feature that allows users to store the content of responses received for RRDP requests. The location of these stored responses is constructed from the URL of the request. Due to insufficient sanitation of the URL, it is possible for an attacker to craft a URL that results in the response being stored outside of the directory specified for it."}]},"problemtype":{"problemtype_data":[{"description":[{"lang":"eng","value":"CWE-35: Path Traversal: '.../...//'","cweId":"CWE-35"}]}]},"affects":{"vendor":{"vendor_data":[{"vendor_name":"NLnet Labs","product":{"product_data":[{"product_name":"Routinator","version":{"version_data":[{"version_value":"not down converted","x_cve_json_5_version_data":{"versions":[{"version":"0.9.0","status":"affected","lessThan":"0.12.2","versionType":"semver"},{"version":"0.12.2","status":"unaffected","lessThan":"*","versionType":"semver"}],"defaultStatus":"unaffected"}}]}}]}}]}},"references":{"reference_data":[{"url":"https://nlnetlabs.nl/downloads/routinator/CVE-2023-39916.txt","refsource":"MISC","name":"https://nlnetlabs.nl/downloads/routinator/CVE-2023-39916.txt"}]},"solution":[{"lang":"en","value":"This issue is fixed in 0.12.2 and all later versions. Disabling the rrdp-keep-responses option in affected versions also avoids the issue."}],"credits":[{"lang":"en","value":"Haya Shulman"},{"lang":"en","value":"Donika Mirdita"},{"lang":"en","value":"Niklas Vogel"}],"impact":{"cvss":[{"version":"3.1","baseScore":9.3,"baseSeverity":"CRITICAL","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:N/I:H/A:H"}]}},"nvd":{"publishedDate":"2023-09-13 15:15:00","lastModifiedDate":"2023-09-19 04:05:00","problem_types":["CWE-22"],"metrics":{"baseMetricV3":{"cvssV3":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"LOW","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"NONE","availabilityImpact":"NONE","baseScore":6.5,"baseSeverity":"MEDIUM"},"exploitabilityScore":2.8,"impactScore":3.6}},"configurations":{"CVE_data_version":"4.0","nodes":[{"operator":"OR","children":[],"cpe_match":[{"vulnerable":true,"cpe23Uri":"cpe:2.3:a:nlnetlabs:routinator:*:*:*:*:*:*:*:*","versionStartIncluding":"0.9.0","versionEndExcluding":"0.12.2","cpe_name":[]}]}]}},"legacy_mitre":{"record":null,"notes":[]}}}