{"api_version":"1","generated_at":"2026-07-23T12:51:19+00:00","cve":"CVE-2021-21245","urls":{"html":"https://cve.report/CVE-2021-21245","api":"https://cve.report/api/cve/CVE-2021-21245.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2021-21245","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2021-21245"},"summary":{"title":"CVE-2021-21245","description":"OneDev is an all-in-one devops platform. In OneDev before version 4.0.3, AttachmentUploadServlet also saves user controlled data (`request.getInputStream()`) to a user specified location (`request.getHeader(\"File-Name\")`). This issue may lead to arbitrary file upload which can be used to upload a WebShell to OneDev server. This issue is addressed in 4.0.3 by only allowing uploaded file to be in attachments folder. The webshell issue is not possible as OneDev never executes files in attachments folder.","state":"PUBLIC","assigner":"security-advisories@github.com","published_at":"2021-01-15 21:15:00","updated_at":"2021-01-21 15:02:00"},"problem_types":["CWE-434"],"metrics":[],"references":[{"url":"https://github.com/theonedev/onedev/commit/0c060153fb97c0288a1917efdb17cc426934dacb","name":"https://github.com/theonedev/onedev/commit/0c060153fb97c0288a1917efdb17cc426934dacb","refsource":"MISC","tags":["Patch","Third Party Advisory"],"title":"Fix the issue that uploaded file can be stored anywhere OneDev has write · theonedev/onedev@0c06015 · GitHub","mime":"text/html","httpstatus":"200","archivestatus":"200"},{"url":"https://github.com/theonedev/onedev/security/advisories/GHSA-62m2-38q5-96w9","name":"https://github.com/theonedev/onedev/security/advisories/GHSA-62m2-38q5-96w9","refsource":"CONFIRM","tags":["Third Party Advisory"],"title":"Pre-Auth Arbitrary File Upload · Advisory · theonedev/onedev · GitHub","mime":"text/html","httpstatus":"200","archivestatus":"200"},{"url":"https://www.cve.org/CVERecord?id=CVE-2021-21245","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2021-21245","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[{"cve_year":"2021","cve_id":"21245","vulnerable":"1","versionEndIncluding":"","cpe1":"cpe","cpe2":"2.3","cpe3":"a","cpe4":"onedev_project","cpe5":"onedev","cpe6":"*","cpe7":"*","cpe8":"*","cpe9":"*","cpe10":"*","cpe11":"*","cpe12":"*","cpe13":"*"},{"cve_year":"2021","cve_id":"21245","vulnerable":"1","versionEndIncluding":"1","cpe1":"cpe","cpe2":"2.3","cpe3":"a","cpe4":"onedev_project","cpe5":"onedev","cpe6":"*","cpe7":"*","cpe8":"*","cpe9":"*","cpe10":"*","cpe11":"*","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-2021-21245","STATE":"PUBLIC","TITLE":"Pre-Auth Arbitrary File Upload"},"affects":{"vendor":{"vendor_data":[{"product":{"product_data":[{"product_name":"onedev","version":{"version_data":[{"version_value":"< 4.0.3"}]}}]},"vendor_name":"theonedev"}]}},"data_format":"MITRE","data_type":"CVE","data_version":"4.0","description":{"description_data":[{"lang":"eng","value":"OneDev is an all-in-one devops platform. In OneDev before version 4.0.3, AttachmentUploadServlet also saves user controlled data (`request.getInputStream()`) to a user specified location (`request.getHeader(\"File-Name\")`). This issue may lead to arbitrary file upload which can be used to upload a WebShell to OneDev server. This issue is addressed in 4.0.3 by only allowing uploaded file to be in attachments folder. The webshell issue is not possible as OneDev never executes files in attachments folder."}]},"impact":{"cvss":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":10,"baseSeverity":"CRITICAL","confidentialityImpact":"HIGH","integrityImpact":"HIGH","privilegesRequired":"NONE","scope":"CHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:N","version":"3.1"}},"problemtype":{"problemtype_data":[{"description":[{"lang":"eng","value":"CWE-434 Unrestricted Upload of File with Dangerous Type"}]}]},"references":{"reference_data":[{"name":"https://github.com/theonedev/onedev/security/advisories/GHSA-62m2-38q5-96w9","refsource":"CONFIRM","url":"https://github.com/theonedev/onedev/security/advisories/GHSA-62m2-38q5-96w9"},{"name":"https://github.com/theonedev/onedev/commit/0c060153fb97c0288a1917efdb17cc426934dacb","refsource":"MISC","url":"https://github.com/theonedev/onedev/commit/0c060153fb97c0288a1917efdb17cc426934dacb"}]},"source":{"advisory":"GHSA-62m2-38q5-96w9","discovery":"UNKNOWN"}},"nvd":{"publishedDate":"2021-01-15 21:15:00","lastModifiedDate":"2021-01-21 15:02:00","problem_types":["CWE-434"],"metrics":{"baseMetricV3":{"cvssV3":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"HIGH","baseScore":9.8,"baseSeverity":"CRITICAL"},"exploitabilityScore":3.9,"impactScore":5.9},"baseMetricV2":{"cvssV2":{"version":"2.0","vectorString":"AV:N/AC:L/Au:N/C:P/I:P/A:P","accessVector":"NETWORK","accessComplexity":"LOW","authentication":"NONE","confidentialityImpact":"PARTIAL","integrityImpact":"PARTIAL","availabilityImpact":"PARTIAL","baseScore":7.5},"severity":"HIGH","exploitabilityScore":10,"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:onedev_project:onedev:*:*:*:*:*:*:*:*","versionEndExcluding":"4.0.3","cpe_name":[]}]}]}},"legacy_mitre":{"record":{"CveYear":"2021","CveId":"21245","Ordinal":"195371","Title":"CVE-2021-21245","CVE":"CVE-2021-21245","Year":"2021"},"notes":[{"CveYear":"2021","CveId":"21245","Ordinal":"1","NoteData":"OneDev is an all-in-one devops platform. In OneDev before version 4.0.3, AttachmentUploadServlet also saves user controlled data (`request.getInputStream()`) to a user specified location (`request.getHeader(\"File-Name\")`). This issue may lead to arbitrary file upload which can be used to upload a WebShell to OneDev server. This issue is addressed in 4.0.3 by only allowing uploaded file to be in attachments folder. The webshell issue is not possible as OneDev never executes files in attachments folder.","Type":"Description","Title":null},{"CveYear":"2021","CveId":"21245","Ordinal":"2","NoteData":"2021-01-15","Type":"Other","Title":"Published"},{"CveYear":"2021","CveId":"21245","Ordinal":"3","NoteData":"2021-01-15","Type":"Other","Title":"Modified"}]}}}