{"api_version":"1","generated_at":"2026-07-23T10:35:47+00:00","cve":"CVE-2020-15230","urls":{"html":"https://cve.report/CVE-2020-15230","api":"https://cve.report/api/cve/CVE-2020-15230.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2020-15230","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2020-15230"},"summary":{"title":"CVE-2020-15230","description":"Vapor is a web framework for Swift. In Vapor before version 4.29.4, Attackers can access data at arbitrary filesystem paths on the same host as an application. Only applications using FileMiddleware are affected. This is fixed in version 4.29.4.","state":"PUBLIC","assigner":"security-advisories@github.com","published_at":"2020-10-02 19:15:00","updated_at":"2022-06-07 18:11:00"},"problem_types":["CWE-22"],"metrics":[],"references":[{"url":"https://github.com/vapor/vapor/pull/2500","name":"https://github.com/vapor/vapor/pull/2500","refsource":"MISC","tags":["Third Party Advisory"],"title":"Fix relative percent decoding in FileMiddleware by tanner0101 · Pull Request #2500 · vapor/vapor · GitHub","mime":"text/html","httpstatus":"200","archivestatus":"200"},{"url":"https://github.com/vapor/vapor/commit/cf1651f7ff76515593f4d8ca6e6e15d2247fe255","name":"https://github.com/vapor/vapor/commit/cf1651f7ff76515593f4d8ca6e6e15d2247fe255","refsource":"MISC","tags":["Patch","Third Party Advisory"],"title":"fix relative percent decoding in file middleware (#2500) · vapor/vapor@cf1651f · GitHub","mime":"text/html","httpstatus":"200","archivestatus":"200"},{"url":"https://github.com/vapor/vapor/security/advisories/GHSA-vcvg-xgr8-p5gq","name":"https://github.com/vapor/vapor/security/advisories/GHSA-vcvg-xgr8-p5gq","refsource":"CONFIRM","tags":["Third Party Advisory"],"title":"Arbitrary file read using percent-encoded relative paths in FileMiddleware · Advisory · vapor/vapor · GitHub","mime":"text/html","httpstatus":"200","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2020-15230","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2020-15230","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[{"cve_year":"2020","cve_id":"15230","vulnerable":"1","versionEndIncluding":"","cpe1":"cpe","cpe2":"2.3","cpe3":"a","cpe4":"vapor_project","cpe5":"vapor","cpe6":"*","cpe7":"*","cpe8":"*","cpe9":"*","cpe10":"*","cpe11":"swift","cpe12":"*","cpe13":"*"},{"cve_year":"2020","cve_id":"15230","vulnerable":"1","versionEndIncluding":"1","cpe1":"cpe","cpe2":"2.3","cpe3":"a","cpe4":"vapor_project","cpe5":"vapor","cpe6":"*","cpe7":"*","cpe8":"*","cpe9":"*","cpe10":"*","cpe11":"swift","cpe12":"*","cpe13":"*"}],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"CVE_data_meta":{"ASSIGNER":"security-advisories@github.com","ID":"CVE-2020-15230","STATE":"PUBLIC","TITLE":"Arbitrary file read un Vapor"},"affects":{"vendor":{"vendor_data":[{"product":{"product_data":[{"product_name":"vapor","version":{"version_data":[{"version_value":"< 4.29.4"}]}}]},"vendor_name":"vapor"}]}},"data_format":"MITRE","data_type":"CVE","data_version":"4.0","description":{"description_data":[{"lang":"eng","value":"Vapor is a web framework for Swift. In Vapor before version 4.29.4, Attackers can access data at arbitrary filesystem paths on the same host as an application. Only applications using FileMiddleware are affected. This is fixed in version 4.29.4."}]},"impact":{"cvss":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":8.5,"baseSeverity":"HIGH","confidentialityImpact":"LOW","integrityImpact":"HIGH","privilegesRequired":"LOW","scope":"CHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:H/A:N","version":"3.1"}},"problemtype":{"problemtype_data":[{"description":[{"lang":"eng","value":"{\"CWE-22\":\"Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')\"}"}]}]},"references":{"reference_data":[{"name":"https://github.com/vapor/vapor/security/advisories/GHSA-vcvg-xgr8-p5gq","refsource":"CONFIRM","url":"https://github.com/vapor/vapor/security/advisories/GHSA-vcvg-xgr8-p5gq"},{"name":"https://github.com/vapor/vapor/pull/2500","refsource":"MISC","url":"https://github.com/vapor/vapor/pull/2500"},{"name":"https://github.com/vapor/vapor/commit/cf1651f7ff76515593f4d8ca6e6e15d2247fe255","refsource":"MISC","url":"https://github.com/vapor/vapor/commit/cf1651f7ff76515593f4d8ca6e6e15d2247fe255"}]},"source":{"advisory":"GHSA-vcvg-xgr8-p5gq","discovery":"UNKNOWN"}},"nvd":{"publishedDate":"2020-10-02 19:15:00","lastModifiedDate":"2022-06-07 18:11: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},"baseMetricV2":{"cvssV2":{"version":"2.0","vectorString":"AV:N/AC:L/Au:S/C:P/I:N/A:N","accessVector":"NETWORK","accessComplexity":"LOW","authentication":"SINGLE","confidentialityImpact":"PARTIAL","integrityImpact":"NONE","availabilityImpact":"NONE","baseScore":4},"severity":"MEDIUM","exploitabilityScore":8,"impactScore":2.9,"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:vapor_project:vapor:*:*:*:*:*:swift:*:*","versionEndExcluding":"4.29.4","cpe_name":[]}]}]}},"legacy_mitre":{"record":{"CveYear":"2020","CveId":"15230","Ordinal":"176609","Title":"CVE-2020-15230","CVE":"CVE-2020-15230","Year":"2020"},"notes":[{"CveYear":"2020","CveId":"15230","Ordinal":"1","NoteData":"Vapor is a web framework for Swift. In Vapor before version 4.29.4, Attackers can access data at arbitrary filesystem paths on the same host as an application. Only applications using FileMiddleware are affected. This is fixed in version 4.29.4.","Type":"Description","Title":null},{"CveYear":"2020","CveId":"15230","Ordinal":"2","NoteData":"2020-10-02","Type":"Other","Title":"Published"},{"CveYear":"2020","CveId":"15230","Ordinal":"3","NoteData":"2020-10-02","Type":"Other","Title":"Modified"}]}}}