Security advisory
Nimble is a package manager for the Nim programming language. In Nim release versions before versions 1.2.10 and 1.4.4, "nimble refresh" fetches a list of Nimble packages over HTTPS without full verification of the SSL/TLS certificate due to the default setting of httpClient. An attacker able to perform MitM can deliver a modified package list containing malicious software packages. If the packages are installed and used the attack escalates to untrusted code execution.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2021-21374
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 31 Oct 2026, 11:32 UTC · Revision 1
Source evidence
Nimble is a package manager for the Nim programming language. In Nim release versions before versions 1.2.10 and 1.4.4, "nimble refresh" fetches a list of Nimble packages over HTTPS without full verification of the SSL/TLS certificate due to the default setting of httpClient. An attacker able to perform MitM can deliver a modified package list containing malicious software packages. If the packages are installed and used the attack escalates to untrusted code execution.
osv:CVE-2021-21374
Complete source record
{
"id": "3175c67a2736aed30e5935a87a49fc6d625c948a40214bbdb06884c5df3ff8c5",
"url": "https://osv.dev/vulnerability/CVE-2021-21374",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "CVE-2021-21374",
"summary": "Nimble is a package manager for the Nim programming language. In Nim release versions before versions 1.2.10 and 1.4.4, \"nimble refresh\" fetches a list of Nimble packages over HTTPS without full verification of the SSL/TLS certificate due to the default setting of httpClient. An attacker able to perform MitM can deliver a modified package list containing malicious software packages. If the packages are installed and used the attack escalates to untrusted code execution.",
"evidence": "osv:CVE-2021-21374",
"products": [],
"severity": "high",
"structured": {
"id": "CVE-2021-21374",
"aliases": [
"CVE-2021-21374",
"GHSA-c2wm-v66h-xhxx"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/nim-lang/nim",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "ebc114c5266582dcaf5e323e0ec3d2b2a9f17063"
},
{
"introduced": "018ae963ba83934a68d815c3c1c44c06e8ec6178"
},
{
"fixed": "2ff517462bf8609b30e6134c96658aa7912b628a"
}
],
"database_specific": {
"extracted_events": [
{
"cpe": "cpe:2.3:a:nim-lang:nim:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "0"
},
{
"fixed": "1.2.10"
}
],
"source": "CPE_RANGE"
},
{
"cpe": "cpe:2.3:a:nim-lang:nim:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "1.4.0"
},
{
"fixed": "1.4.4"
}
],
"source": "CPE_RANGE"
}
]
}
}
],
"versions": [
"v1.4.2",
"v1.2.8",
"v1.4.0",
"v1.2.6",
"v1.2.4",
"v1.2.2",
"v1.2.0",
"v1.0.0",
"v0.20.0",
"v0.19.0",
"v0.18.0",
"v0.17.2",
"v0.17.0",
"v0.16.0",
"v0.15.2",
"v0.14.2",
"v0.15.0",
"v0.14.0",
"v0.13.0",
"v0.12.0",
"v0.11.2",
"v0.11.0",
"v0.10.2",
"v0.9.4",
"v0.9.2",
"v0.9.0",
"v0.8.14"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2021-21374.json"
}
}
],
"modified": "2026-10-20T10:54:28.377906750Z",
"provider": "osv",
"references": [
"https://github.com/nim-lang/nimble/blob/master/changelog.markdown#0130",
"https://github.com/nim-lang/security/security/advisories/GHSA-c2wm-v66h-xhxx",
"https://github.com/nim-lang/Nim/pull/16940",
"https://consensys.net/diligence/vulnerabilities/nim-insecure-ssl-tls-defaults-remote-code-execution/"
],
"provider_metadata": {}
},
"related_cves": [
{
"value": "CVE-2021-21374",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 385414,
"published_at": "2021-03-26T22:15:12.867+00:00"
}