{"api_version":"1","generated_at":"2026-07-23T13:05:34+00:00","cve":"CVE-2021-21372","urls":{"html":"https://cve.report/CVE-2021-21372","api":"https://cve.report/api/cve/CVE-2021-21372.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2021-21372","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2021-21372"},"summary":{"title":"CVE-2021-21372","description":"Nimble is a package manager for the Nim programming language. In Nim release version before versions 1.2.10 and 1.4.4, Nimble doCmd is used in different places and can be leveraged to execute arbitrary commands. An attacker can craft a malicious entry in the packages.json package list to trigger code execution.","state":"PUBLIC","assigner":"security-advisories@github.com","published_at":"2021-03-26 22:15:00","updated_at":"2022-10-24 17:14:00"},"problem_types":["CWE-78"],"metrics":[],"references":[{"url":"https://github.com/nim-lang/nimble/blob/master/changelog.markdown#0130","name":"https://github.com/nim-lang/nimble/blob/master/changelog.markdown#0130","refsource":"MISC","tags":[],"title":"nimble/changelog.markdown at master · nim-lang/nimble · GitHub","mime":"text/html","httpstatus":"200","archivestatus":"200"},{"url":"https://consensys.net/diligence/vulnerabilities/nim-insecure-ssl-tls-defaults-remote-code-execution/","name":"https://consensys.net/diligence/vulnerabilities/nim-insecure-ssl-tls-defaults-remote-code-execution/","refsource":"MISC","tags":[],"title":"Nim - Insecure SSL/TLS Defaults, MitM, and nimble Remote Code Execution | ConsenSys Diligence","mime":"text/html","httpstatus":"200","archivestatus":"200"},{"url":"https://github.com/nim-lang/security/security/advisories/GHSA-rg9f-w24h-962p","name":"https://github.com/nim-lang/security/security/advisories/GHSA-rg9f-w24h-962p","refsource":"CONFIRM","tags":[],"title":"Nimble arbitrary code execution for specially crafted package metadata · Advisory · nim-lang/security · GitHub","mime":"text/html","httpstatus":"200","archivestatus":"404"},{"url":"https://github.com/nim-lang/nimble/commit/7bd63d504a4157b8ed61a51af47fb086ee818c37","name":"https://github.com/nim-lang/nimble/commit/7bd63d504a4157b8ed61a51af47fb086ee818c37","refsource":"MISC","tags":[],"title":"Merge pull request #894 from nim-lang/fixes-rce · nim-lang/nimble@7bd63d5 · GitHub","mime":"text/html","httpstatus":"200","archivestatus":"404"},{"url":"https://www.cve.org/CVERecord?id=CVE-2021-21372","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2021-21372","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[{"cve_year":"2021","cve_id":"21372","vulnerable":"1","versionEndIncluding":"","cpe1":"cpe","cpe2":"2.3","cpe3":"a","cpe4":"nim-lang","cpe5":"nim","cpe6":"*","cpe7":"*","cpe8":"*","cpe9":"*","cpe10":"*","cpe11":"*","cpe12":"*","cpe13":"*"}],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[{"cve":"CVE-2021-21372","qid":"180264","title":"Debian Security Update for nim (CVE-2021-21372)"},{"cve":"CVE-2021-21372","qid":"750247","title":"OpenSUSE Security Update for nim (openSUSE-SU-2021:0618-1)"}]},"source_records":{"cve_program":{"CVE_data_meta":{"ASSIGNER":"security-advisories@github.com","ID":"CVE-2021-21372","STATE":"PUBLIC","TITLE":"Nimble arbitrary code execution for specially crafted package metadata"},"affects":{"vendor":{"vendor_data":[{"product":{"product_data":[{"product_name":"security","version":{"version_data":[{"version_value":"< 1.2.10"},{"version_value":">= 1.4.0, < 1.4.4"}]}}]},"vendor_name":"nim-lang"}]}},"data_format":"MITRE","data_type":"CVE","data_version":"4.0","description":{"description_data":[{"lang":"eng","value":"Nimble is a package manager for the Nim programming language. In Nim release version before versions 1.2.10 and 1.4.4, Nimble doCmd is used in different places and can be leveraged to execute arbitrary commands. An attacker can craft a malicious entry in the packages.json package list to trigger code execution."}]},"impact":{"cvss":{"attackComplexity":"HIGH","attackVector":"NETWORK","availabilityImpact":"HIGH","baseScore":8.3,"baseSeverity":"HIGH","confidentialityImpact":"HIGH","integrityImpact":"HIGH","privilegesRequired":"NONE","scope":"CHANGED","userInteraction":"REQUIRED","vectorString":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:H/A:H","version":"3.1"}},"problemtype":{"problemtype_data":[{"description":[{"lang":"eng","value":"CWE-20 Improper Input Validation"}]},{"description":[{"lang":"eng","value":"CWE-74 Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection')"}]}]},"references":{"reference_data":[{"name":"https://consensys.net/diligence/vulnerabilities/nim-insecure-ssl-tls-defaults-remote-code-execution/","refsource":"MISC","url":"https://consensys.net/diligence/vulnerabilities/nim-insecure-ssl-tls-defaults-remote-code-execution/"},{"name":"https://github.com/nim-lang/security/security/advisories/GHSA-rg9f-w24h-962p","refsource":"CONFIRM","url":"https://github.com/nim-lang/security/security/advisories/GHSA-rg9f-w24h-962p"},{"name":"https://github.com/nim-lang/nimble/blob/master/changelog.markdown#0130","refsource":"MISC","url":"https://github.com/nim-lang/nimble/blob/master/changelog.markdown#0130"},{"name":"https://github.com/nim-lang/nimble/commit/7bd63d504a4157b8ed61a51af47fb086ee818c37","refsource":"MISC","url":"https://github.com/nim-lang/nimble/commit/7bd63d504a4157b8ed61a51af47fb086ee818c37"}]},"source":{"advisory":"GHSA-rg9f-w24h-962p","discovery":"UNKNOWN"}},"nvd":{"publishedDate":"2021-03-26 22:15:00","lastModifiedDate":"2022-10-24 17:14:00","problem_types":["CWE-78"],"metrics":{"baseMetricV3":{"cvssV3":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"REQUIRED","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"HIGH","baseScore":8.8,"baseSeverity":"HIGH"},"exploitabilityScore":2.8,"impactScore":5.9},"baseMetricV2":{"cvssV2":{"version":"2.0","vectorString":"AV:N/AC:M/Au:N/C:P/I:P/A:P","accessVector":"NETWORK","accessComplexity":"MEDIUM","authentication":"NONE","confidentialityImpact":"PARTIAL","integrityImpact":"PARTIAL","availabilityImpact":"PARTIAL","baseScore":6.8},"severity":"MEDIUM","exploitabilityScore":8.6,"impactScore":6.4,"acInsufInfo":false,"obtainAllPrivilege":false,"obtainUserPrivilege":false,"obtainOtherPrivilege":false,"userInteractionRequired":true}},"configurations":{"CVE_data_version":"4.0","nodes":[{"operator":"OR","children":[],"cpe_match":[{"vulnerable":true,"cpe23Uri":"cpe:2.3:a:nim-lang:nim:*:*:*:*:*:*:*:*","versionEndExcluding":"1.2.10","cpe_name":[]},{"vulnerable":true,"cpe23Uri":"cpe:2.3:a:nim-lang:nim:*:*:*:*:*:*:*:*","versionStartIncluding":"1.4.0","versionEndExcluding":"1.4.4","cpe_name":[]}]}]}},"legacy_mitre":{"record":{"CveYear":"2021","CveId":"21372","Ordinal":"195498","Title":"CVE-2021-21372","CVE":"CVE-2021-21372","Year":"2021"},"notes":[{"CveYear":"2021","CveId":"21372","Ordinal":"1","NoteData":"Nimble is a package manager for the Nim programming language. In Nim release version before versions 1.2.10 and 1.4.4, Nimble doCmd is used in different places and can be leveraged to execute arbitrary commands. An attacker can craft a malicious entry in the packages.json package list to trigger code execution.","Type":"Description","Title":null},{"CveYear":"2021","CveId":"21372","Ordinal":"2","NoteData":"2021-03-26","Type":"Other","Title":"Published"},{"CveYear":"2021","CveId":"21372","Ordinal":"3","NoteData":"2021-03-26","Type":"Other","Title":"Modified"}]}}}