{"api_version":"1","generated_at":"2026-07-23T15:16:17+00:00","cve":"CVE-2021-23357","urls":{"html":"https://cve.report/CVE-2021-23357","api":"https://cve.report/api/cve/CVE-2021-23357.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2021-23357","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2021-23357"},"summary":{"title":"CVE-2021-23357","description":"All versions of package github.com/tyktechnologies/tyk/gateway are vulnerable to Directory Traversal via the handleAddOrUpdateApi function. This function is able to delete arbitrary JSON files on the disk where Tyk is running via the management API. The APIID is provided by the user and this value is then used to create a file on disk. If there is a file found with the same name then it will be deleted and then re-created with the contents of the API creation request.","state":"PUBLIC","assigner":"report@snyk.io","published_at":"2021-03-15 17:15:00","updated_at":"2021-03-18 19:04:00"},"problem_types":["CWE-22"],"metrics":[],"references":[{"url":"https://github.com/TykTechnologies/tyk/issues/3390","name":"https://github.com/TykTechnologies/tyk/issues/3390","refsource":"MISC","tags":["Exploit","Third Party Advisory"],"title":"Security: Path Traversal Bug - Able to delete/modify arbitrary JSON files via management API · Issue #3390 · TykTechnologies/tyk · GitHub","mime":"text/html","httpstatus":"200","archivestatus":"404"},{"url":"https://snyk.io/vuln/SNYK-GOLANG-GITHUBCOMTYKTECHNOLOGIESTYKGATEWAY-1078516","name":"https://snyk.io/vuln/SNYK-GOLANG-GITHUBCOMTYKTECHNOLOGIESTYKGATEWAY-1078516","refsource":"MISC","tags":["Third Party Advisory"],"title":"Directory Traversal in github.com/tyktechnologies/tyk/gateway | Snyk","mime":"text/html","httpstatus":"200","archivestatus":"404"},{"url":"https://www.cve.org/CVERecord?id=CVE-2021-23357","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2021-23357","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[{"source":"LEGACY","value":"calabdean","lang":""}],"nvd_cpes":[{"cve_year":"2021","cve_id":"23357","vulnerable":"1","versionEndIncluding":"","cpe1":"cpe","cpe2":"2.3","cpe3":"a","cpe4":"tyk","cpe5":"tyk","cpe6":"*","cpe7":"*","cpe8":"*","cpe9":"*","cpe10":"*","cpe11":"*","cpe12":"*","cpe13":"*"}],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"data_type":"CVE","data_format":"MITRE","data_version":"4.0","CVE_data_meta":{"ASSIGNER":"report@snyk.io","DATE_PUBLIC":"2021-03-15T16:40:25.829280Z","ID":"CVE-2021-23357","STATE":"PUBLIC","TITLE":"Directory Traversal"},"affects":{"vendor":{"vendor_data":[{"product":{"product_data":[{"product_name":"github.com/TykTechnologies/tyk/gateway","version":{"version_data":[{"version_affected":">=","version_value":"0"}]}}]},"vendor_name":"n/a"}]}},"problemtype":{"problemtype_data":[{"description":[{"lang":"eng","value":"Directory Traversal"}]}]},"references":{"reference_data":[{"refsource":"MISC","url":"https://snyk.io/vuln/SNYK-GOLANG-GITHUBCOMTYKTECHNOLOGIESTYKGATEWAY-1078516","name":"https://snyk.io/vuln/SNYK-GOLANG-GITHUBCOMTYKTECHNOLOGIESTYKGATEWAY-1078516"},{"refsource":"MISC","url":"https://github.com/TykTechnologies/tyk/issues/3390","name":"https://github.com/TykTechnologies/tyk/issues/3390"}]},"description":{"description_data":[{"lang":"eng","value":"All versions of package github.com/tyktechnologies/tyk/gateway are vulnerable to Directory Traversal via the handleAddOrUpdateApi function. This function is able to delete arbitrary JSON files on the disk where Tyk is running via the management API. The APIID is provided by the user and this value is then used to create a file on disk. If there is a file found with the same name then it will be deleted and then re-created with the contents of the API creation request."}]},"impact":{"cvss":{"version":"3.1","vectorString":"CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:L/I:L/A:N","baseScore":3.3,"baseSeverity":"LOW","attackVector":"LOCAL","attackComplexity":"HIGH","privilegesRequired":"LOW","userInteraction":"REQUIRED","scope":"UNCHANGED","confidentialityImpact":"LOW","integrityImpact":"LOW","availabilityImpact":"NONE"}},"credit":[{"lang":"eng","value":"calabdean"}]},"nvd":{"publishedDate":"2021-03-15 17:15:00","lastModifiedDate":"2021-03-18 19:04:00","problem_types":["CWE-22"],"metrics":{"baseMetricV3":{"cvssV3":{"version":"3.1","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L","attackVector":"LOCAL","attackComplexity":"LOW","privilegesRequired":"LOW","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"LOW","integrityImpact":"LOW","availabilityImpact":"LOW","baseScore":5.3,"baseSeverity":"MEDIUM"},"exploitabilityScore":1.8,"impactScore":3.4},"baseMetricV2":{"cvssV2":{"version":"2.0","vectorString":"AV:L/AC:L/Au:N/C:P/I:P/A:P","accessVector":"LOCAL","accessComplexity":"LOW","authentication":"NONE","confidentialityImpact":"PARTIAL","integrityImpact":"PARTIAL","availabilityImpact":"PARTIAL","baseScore":4.6},"severity":"MEDIUM","exploitabilityScore":3.9,"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:tyk:tyk:*:*:*:*:*:*:*:*","cpe_name":[]}]}]}},"legacy_mitre":{"record":{"CveYear":"2021","CveId":"23357","Ordinal":"198084","Title":"CVE-2021-23357","CVE":"CVE-2021-23357","Year":"2021"},"notes":[{"CveYear":"2021","CveId":"23357","Ordinal":"1","NoteData":"All versions of package github.com/tyktechnologies/tyk/gateway are vulnerable to Directory Traversal via the handleAddOrUpdateApi function. This function is able to delete arbitrary JSON files on the disk where Tyk is running via the management API. The APIID is provided by the user and this value is then used to create a file on disk. If there is a file found with the same name then it will be deleted and then re-created with the contents of the API creation request.","Type":"Description","Title":null},{"CveYear":"2021","CveId":"23357","Ordinal":"2","NoteData":"2021-03-15","Type":"Other","Title":"Published"},{"CveYear":"2021","CveId":"23357","Ordinal":"3","NoteData":"2021-03-15","Type":"Other","Title":"Modified"}]}}}