CVE-2023-39916 (GCVE-0-2023-39916)
Vulnerability from cvelistv5 – Published: 2023-09-13 14:24 – Updated: 2025-10-03 09:51
VLAI?
Summary
NLnet Labs’ Routinator 0.9.0 up to and including 0.12.1 as well as 0.14.0 up to and including 0.14.2 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.
Severity ?
9.3 (Critical)
CWE
- CWE-35 - Path Traversal: '.../...//'
Assigner
References
| URL | Tags | ||||
|---|---|---|---|---|---|
|
|||||
Impacted products
| Vendor | Product | Version | ||
|---|---|---|---|---|
| NLnet Labs | Routinator |
Affected:
0.9.0 , < 0.12.2
(semver)
Affected: 0.14.* (semver) |
Credits
Haya Shulman
Donika Mirdita
Niklas Vogel
Zhechao Lin
Zizhi Shang
Jiahao Cao
Yangyang Wang
Mingwei Xu
{
"containers": {
"adp": [
{
"providerMetadata": {
"dateUpdated": "2024-08-02T18:18:09.984Z",
"orgId": "af854a3a-2127-422b-91ae-364da2661108",
"shortName": "CVE"
},
"references": [
{
"tags": [
"vendor-advisory",
"x_transferred"
],
"url": "https://nlnetlabs.nl/downloads/routinator/CVE-2023-39916.txt"
}
],
"title": "CVE Program Container"
},
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2023-39916",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2024-09-25T14:49:58.845721Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2024-09-25T15:18:29.606Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "Routinator",
"vendor": "NLnet Labs",
"versions": [
{
"lessThan": "0.12.2",
"status": "affected",
"version": "0.9.0",
"versionType": "semver"
},
{
"status": "affected",
"version": "0.14.*",
"versionType": "semver"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "Haya Shulman"
},
{
"lang": "en",
"type": "finder",
"value": "Donika Mirdita"
},
{
"lang": "en",
"type": "finder",
"value": "Niklas Vogel"
},
{
"lang": "en",
"type": "finder",
"value": "Zhechao Lin"
},
{
"lang": "en",
"type": "finder",
"value": "Zizhi Shang"
},
{
"lang": "en",
"type": "finder",
"value": "Jiahao Cao"
},
{
"lang": "en",
"type": "finder",
"value": "Yangyang Wang"
},
{
"lang": "en",
"type": "finder",
"value": "Mingwei Xu"
}
],
"datePublic": "2023-09-13T00:00:00.000Z",
"descriptions": [
{
"lang": "en",
"value": "NLnet Labs\u2019 Routinator 0.9.0 up to and including 0.12.1 as well as 0.14.0 up to and including 0.14.2 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."
}
],
"metrics": [
{
"cvssV3_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",
"version": "3.1"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "rrdp-keep-responses enabled"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-35",
"description": "CWE-35: Path Traversal: \u0027.../...//\u0027",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2025-10-03T09:51:46.994Z",
"orgId": "206fc3a0-e175-490b-9eaa-a5738056c9f6",
"shortName": "NLnet Labs"
},
"references": [
{
"tags": [
"vendor-advisory"
],
"url": "https://nlnetlabs.nl/downloads/routinator/CVE-2023-39916.txt"
}
],
"solutions": [
{
"lang": "en",
"value": "This issue is fixed in 0.15.0 which removes the rrdp-keep-responses feature. Disabling the rrdp-keep-responses option in affected versions also avoids the issue."
}
],
"timeline": [
{
"lang": "en",
"time": "2023-07-19T18:00:00.000Z",
"value": "Issue reported by Haya Shulman"
},
{
"lang": "en",
"time": "2023-09-13T14:00:00.000Z",
"value": "Fixes released"
},
{
"lang": "en",
"time": "2025-06-13T14:00:00.000Z",
"value": "Re-surfacing in version 0.14 reported by Zhechao Lin"
},
{
"lang": "en",
"time": "2025-09-30T14:00:00.000Z",
"value": "Fixes released"
}
],
"title": "Possible path traversal when storing RRDP responses",
"x_generator": {
"engine": "cvelib 1.8.0"
}
}
},
"cveMetadata": {
"assignerOrgId": "206fc3a0-e175-490b-9eaa-a5738056c9f6",
"assignerShortName": "NLnet Labs",
"cveId": "CVE-2023-39916",
"datePublished": "2023-09-13T14:24:08.907Z",
"dateReserved": "2023-08-07T11:55:17.843Z",
"dateUpdated": "2025-10-03T09:51:46.994Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.1",
"vulnerability-lookup:meta": {
"fkie_nvd": {
"configurations": "[{\"nodes\": [{\"operator\": \"OR\", \"negate\": false, \"cpeMatch\": [{\"vulnerable\": true, \"criteria\": \"cpe:2.3:a:nlnetlabs:routinator:*:*:*:*:*:*:*:*\", \"versionStartIncluding\": \"0.9.0\", \"versionEndExcluding\": \"0.12.2\", \"matchCriteriaId\": \"696EE893-6880-4A26-9B3F-9160471B905F\"}]}]}]",
"descriptions": "[{\"lang\": \"en\", \"value\": \"NLnet Labs\\u2019 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.\"}, {\"lang\": \"es\", \"value\": \"Routinator 0.9.0 de NLnet Labs hasta 0.12.1 inclusive contiene una posible vulnerabilidad de Path Traversal en la funci\\u00f3n opcional keep-rrdp-responses, desactivada por defecto, que permite a los usuarios almacenar el contenido de las respuestas recibidas para solicitudes RRDP. La ubicaci\\u00f3n de estas respuestas almacenadas se construye a partir de la URL de la solicitud. Debido a una limpieza insuficiente de la URL, es posible que un atacante cree una URL que d\\u00e9 lugar a que la respuesta se almacene fuera del directorio especificado para ella.\"}]",
"id": "CVE-2023-39916",
"lastModified": "2024-11-21T08:16:02.057",
"metrics": "{\"cvssMetricV31\": [{\"source\": \"sep@nlnetlabs.nl\", \"type\": \"Secondary\", \"cvssData\": {\"version\": \"3.1\", \"vectorString\": \"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:N/I:H/A:H\", \"baseScore\": 9.3, \"baseSeverity\": \"CRITICAL\", \"attackVector\": \"NETWORK\", \"attackComplexity\": \"LOW\", \"privilegesRequired\": \"NONE\", \"userInteraction\": \"REQUIRED\", \"scope\": \"CHANGED\", \"confidentialityImpact\": \"NONE\", \"integrityImpact\": \"HIGH\", \"availabilityImpact\": \"HIGH\"}, \"exploitabilityScore\": 2.8, \"impactScore\": 5.8}, {\"source\": \"nvd@nist.gov\", \"type\": \"Primary\", \"cvssData\": {\"version\": \"3.1\", \"vectorString\": \"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N\", \"baseScore\": 6.5, \"baseSeverity\": \"MEDIUM\", \"attackVector\": \"NETWORK\", \"attackComplexity\": \"LOW\", \"privilegesRequired\": \"LOW\", \"userInteraction\": \"NONE\", \"scope\": \"UNCHANGED\", \"confidentialityImpact\": \"HIGH\", \"integrityImpact\": \"NONE\", \"availabilityImpact\": \"NONE\"}, \"exploitabilityScore\": 2.8, \"impactScore\": 3.6}]}",
"published": "2023-09-13T15:15:07.837",
"references": "[{\"url\": \"https://nlnetlabs.nl/downloads/routinator/CVE-2023-39916.txt\", \"source\": \"sep@nlnetlabs.nl\", \"tags\": [\"Vendor Advisory\"]}, {\"url\": \"https://nlnetlabs.nl/downloads/routinator/CVE-2023-39916.txt\", \"source\": \"af854a3a-2127-422b-91ae-364da2661108\", \"tags\": [\"Vendor Advisory\"]}]",
"sourceIdentifier": "sep@nlnetlabs.nl",
"vulnStatus": "Modified",
"weaknesses": "[{\"source\": \"sep@nlnetlabs.nl\", \"type\": \"Secondary\", \"description\": [{\"lang\": \"en\", \"value\": \"CWE-35\"}]}, {\"source\": \"nvd@nist.gov\", \"type\": \"Primary\", \"description\": [{\"lang\": \"en\", \"value\": \"CWE-22\"}]}]"
},
"nvd": "{\"cve\":{\"id\":\"CVE-2023-39916\",\"sourceIdentifier\":\"sep@nlnetlabs.nl\",\"published\":\"2023-09-13T15:15:07.837\",\"lastModified\":\"2025-10-03T10:15:33.527\",\"vulnStatus\":\"Modified\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"NLnet Labs\u2019 Routinator 0.9.0 up to and including 0.12.1 as well as 0.14.0 up to and including 0.14.2 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.\"},{\"lang\":\"es\",\"value\":\"Routinator 0.9.0 de NLnet Labs hasta 0.12.1 inclusive contiene una posible vulnerabilidad de Path Traversal en la funci\u00f3n opcional keep-rrdp-responses, desactivada por defecto, que permite a los usuarios almacenar el contenido de las respuestas recibidas para solicitudes RRDP. La ubicaci\u00f3n de estas respuestas almacenadas se construye a partir de la URL de la solicitud. Debido a una limpieza insuficiente de la URL, es posible que un atacante cree una URL que d\u00e9 lugar a que la respuesta se almacene fuera del directorio especificado para ella.\"}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"sep@nlnetlabs.nl\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:N/I:H/A:H\",\"baseScore\":9.3,\"baseSeverity\":\"CRITICAL\",\"attackVector\":\"NETWORK\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"NONE\",\"userInteraction\":\"REQUIRED\",\"scope\":\"CHANGED\",\"confidentialityImpact\":\"NONE\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":2.8,\"impactScore\":5.8},{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N\",\"baseScore\":6.5,\"baseSeverity\":\"MEDIUM\",\"attackVector\":\"NETWORK\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"NONE\",\"availabilityImpact\":\"NONE\"},\"exploitabilityScore\":2.8,\"impactScore\":3.6}]},\"weaknesses\":[{\"source\":\"sep@nlnetlabs.nl\",\"type\":\"Secondary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-35\"}]},{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-22\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:a:nlnetlabs:routinator:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"0.9.0\",\"versionEndExcluding\":\"0.12.2\",\"matchCriteriaId\":\"696EE893-6880-4A26-9B3F-9160471B905F\"}]}]}],\"references\":[{\"url\":\"https://nlnetlabs.nl/downloads/routinator/CVE-2023-39916.txt\",\"source\":\"sep@nlnetlabs.nl\",\"tags\":[\"Vendor Advisory\"]},{\"url\":\"https://nlnetlabs.nl/downloads/routinator/CVE-2023-39916.txt\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Vendor Advisory\"]}]}}",
"vulnrichment": {
"containers": "{\"adp\": [{\"title\": \"CVE Program Container\", \"references\": [{\"url\": \"https://nlnetlabs.nl/downloads/routinator/CVE-2023-39916.txt\", \"tags\": [\"vendor-advisory\", \"x_transferred\"]}], \"providerMetadata\": {\"orgId\": \"af854a3a-2127-422b-91ae-364da2661108\", \"shortName\": \"CVE\", \"dateUpdated\": \"2024-08-02T18:18:09.984Z\"}}, {\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2023-39916\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"partial\"}], \"version\": \"2.0.3\", \"timestamp\": \"2024-09-25T14:49:58.845721Z\"}}}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2024-09-25T15:18:23.420Z\"}}], \"cna\": {\"title\": \"Possible path traversal when storing RRDP responses\", \"credits\": [{\"lang\": \"en\", \"type\": \"finder\", \"value\": \"Haya Shulman\"}, {\"lang\": \"en\", \"type\": \"finder\", \"value\": \"Donika Mirdita\"}, {\"lang\": \"en\", \"type\": \"finder\", \"value\": \"Niklas Vogel\"}, {\"lang\": \"en\", \"type\": \"finder\", \"value\": \"Zhechao Lin\"}, {\"lang\": \"en\", \"type\": \"finder\", \"value\": \"Zizhi Shang\"}, {\"lang\": \"en\", \"type\": \"finder\", \"value\": \"Jiahao Cao\"}, {\"lang\": \"en\", \"type\": \"finder\", \"value\": \"Yangyang Wang\"}, {\"lang\": \"en\", \"type\": \"finder\", \"value\": \"Mingwei Xu\"}], \"metrics\": [{\"format\": \"CVSS\", \"cvssV3_1\": {\"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\"}, \"scenarios\": [{\"lang\": \"en\", \"value\": \"rrdp-keep-responses enabled\"}]}], \"affected\": [{\"vendor\": \"NLnet Labs\", \"product\": \"Routinator\", \"versions\": [{\"status\": \"affected\", \"version\": \"0.9.0\", \"lessThan\": \"0.12.2\", \"versionType\": \"semver\"}, {\"status\": \"affected\", \"version\": \"0.14.*\", \"versionType\": \"semver\"}], \"defaultStatus\": \"unaffected\"}], \"timeline\": [{\"lang\": \"en\", \"time\": \"2023-07-19T18:00:00.000Z\", \"value\": \"Issue reported by Haya Shulman\"}, {\"lang\": \"en\", \"time\": \"2023-09-13T14:00:00.000Z\", \"value\": \"Fixes released\"}, {\"lang\": \"en\", \"time\": \"2025-06-13T14:00:00.000Z\", \"value\": \"Re-surfacing in version 0.14 reported by Zhechao Lin\"}, {\"lang\": \"en\", \"time\": \"2025-09-30T14:00:00.000Z\", \"value\": \"Fixes released\"}], \"solutions\": [{\"lang\": \"en\", \"value\": \"This issue is fixed in 0.15.0 which removes the rrdp-keep-responses feature. Disabling the rrdp-keep-responses option in affected versions also avoids the issue.\"}], \"datePublic\": \"2023-09-13T00:00:00.000Z\", \"references\": [{\"url\": \"https://nlnetlabs.nl/downloads/routinator/CVE-2023-39916.txt\", \"tags\": [\"vendor-advisory\"]}], \"x_generator\": {\"engine\": \"cvelib 1.8.0\"}, \"descriptions\": [{\"lang\": \"en\", \"value\": \"NLnet Labs\\u2019 Routinator 0.9.0 up to and including 0.12.1 as well as 0.14.0 up to and including 0.14.2 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.\"}], \"problemTypes\": [{\"descriptions\": [{\"lang\": \"en\", \"type\": \"CWE\", \"cweId\": \"CWE-35\", \"description\": \"CWE-35: Path Traversal: \u0027.../...//\u0027\"}]}], \"providerMetadata\": {\"orgId\": \"206fc3a0-e175-490b-9eaa-a5738056c9f6\", \"shortName\": \"NLnet Labs\", \"dateUpdated\": \"2025-10-03T09:51:46.994Z\"}}}",
"cveMetadata": "{\"cveId\": \"CVE-2023-39916\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2025-10-03T09:51:46.994Z\", \"dateReserved\": \"2023-08-07T11:55:17.843Z\", \"assignerOrgId\": \"206fc3a0-e175-490b-9eaa-a5738056c9f6\", \"datePublished\": \"2023-09-13T14:24:08.907Z\", \"assignerShortName\": \"NLnet Labs\"}",
"dataType": "CVE_RECORD",
"dataVersion": "5.1"
}
}
}
Loading…
Loading…
Sightings
| Author | Source | Type | Date |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Loading…
Loading…