CVE-2021-43616

Exp

The npm ci command in npm 7.x and 8.x through 8.1.3 proceeds with an installation even if dependency information in package-lock.json differs from package.json. This behavior is inconsistent with the documentation, and makes it easier for attackers to install malware that was supposed to have been blocked by an exact version match requirement in package-lock.json. NOTE: The npm team believes this is not a vulnerability. It would require someone to socially engineer package.json which has different dependencies than package-lock.json. That user would have to have file system or write access to change dependencies. The npm team states preventing malicious actors from socially engineering or gaining file system access is outside the scope of the npm CLI.

Published: 2021-11-13 Last update: 2024-11-21 Assigner: [email protected] Source: [email protected]

Conclusion & alert: CVE-2021-43616 is rated High Exploit Risk (79.6/100): CVSS Critical severity, with medium exploitation likelihood (EPSS 1.85%). Core evidence: 2 public exploit reference(s) are indexed (Exploit-DB). Mandatory action: Public exploits are available—assess exposure, apply mitigations, and prioritize patching.

Risk is dynamic; we continuously reassess and refresh what is shown on this page as upstream context changes.

Public exploit references (Exploit-DB) for CVE-2021-43616

EDB-ID Source Kind Published Link
nvd_ref exploit_tag Exploit-DB ↗
nvd_ref exploit_tag Exploit-DB ↗

Exploit prediction scoring system (EPSS) score for CVE-2021-43616

EPSS lead: Daily EPSS estimates relative likelihood of exploitation; percentile ranks this CVE among scored vulnerabilities (higher = more severe relative rank).

# Date Old EPSS score New EPSS score Delta (New - Old)
1 2026-01-14 2.17% 1.85% -0.32%
2 2026-01-13 2.42% 2.17% -0.25%
3 2025-12-11 2.42%

Full EPSS history (33 records total)

Common vulnerability scoring system (CVSS) metrics for CVE-2021-43616

CVSS metrics for this CVE.

Base score Version Severity Vector Exploitability Impact Score source
9.0 3.1 CRITICAL
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H Click to expand
Attack vector (AV:N)
Could be attacked over the internet or any normal routed network—not just someone sitting at the machine.
Attack complexity (AC:H)
Even with access, the exploit needs extra luck, timing, or a fussy environment to actually work.
Privileges required (PR:N)
No account or special rights needed—anonymous or random user is enough.
User interaction (UI:N)
Nobody has to click “OK” or open a trap file; it can work without a victim helping.
Scope (S:C)
Breaking this can reach past the original component and bite other resources—bigger blast radius.
Confidentiality (C:H)
Serious risk that confidential data gets exposed in a big way.
Integrity (I:H)
They could widely tamper with or forge data—trust in the data is badly hurt.
Availability (A:H)
Could take the service down hard or make it unusable for people who depend on it.
2.2 6.0 [email protected]
9.8 3.1 CRITICAL
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H Click to expand
Attack vector (AV:N)
Could be attacked over the internet or any normal routed network—not just someone sitting at the machine.
Attack complexity (AC:L)
Once they can reach the bug, pulling it off is straightforward—no weird race conditions or rare setup.
Privileges required (PR:N)
No account or special rights needed—anonymous or random user is enough.
User interaction (UI:N)
Nobody has to click “OK” or open a trap file; it can work without a victim helping.
Scope (S:U)
Damage stays in the same “trust bubble” as the broken component—no big spill into unrelated systems.
Confidentiality (C:H)
Serious risk that confidential data gets exposed in a big way.
Integrity (I:H)
They could widely tamper with or forge data—trust in the data is badly hurt.
Availability (A:H)
Could take the service down hard or make it unusable for people who depend on it.
3.9 5.9 [email protected]
7.5 2.0 HIGH
AV:N/AC:L/Au:N/C:P/I:P/A:P Click to expand
Access vector (AV:N)
Can be exploited remotely over network reachability.
Access complexity (AC:L)
Exploitation conditions are straightforward and predictable.
Authentication (AU:N)
No authentication is required.
Confidentiality impact (C:P)
Partial confidentiality impact.
Integrity impact (I:P)
Partial integrity impact.
Availability impact (A:P)
Partial availability impact.
10.0 6.4 [email protected]

Weakness enumeration for CVE-2021-43616

OS Trackers for CVE-2021-43616

vendor priority summary link
alpine CVE-2021-43616: 1 source package rows (npm); 8 state rows across 8 repos (3.17-community, 3.18-community, 3.19-community, 3.20-community, 3.21-community, 3.22-community, edge-community, edge-main); fixed 8, open 0. https://security.alpinelinux.org/vuln/CVE-2021-43616
debian not yet assigned CVE-2021-43616 not yet assigned priority: Debian including 1 source packages (npm), 5 status rows across 5 suites (bookworm, bullseye, forky, sid, trixie): resolved 4, open 1. https://security-tracker.debian.org/tracker/CVE-2021-43616
redhat high https://access.redhat.com/security/cve/CVE-2021-43616
suse medium CVE-2021-43616 severity moderate: SUSE including 27 source package names (nodejs-16.14.0-4.module+el8.6.0+15294+54b291d2, nodejs-devel-16.14.0-4.module+el8.6.0+15294+54b291d2, …), 226 product×package rows across 32 product lines (SUSE CaaS Platform 4.0, SUSE Enterprise Storage 6, … (32 product lines)): Known Not Affected 219, Fixed 7. https://www.suse.com/security/cve/CVE-2021-43616/
ubuntu medium CVE-2021-43616 medium priority: Ubuntu including 1 source packages (npm), 15 status rows across 15 suites (bionic, focal, hirsute, impish, jammy, kinetic, lunar, mantic, noble, oracular, plucky, questing, trusty, upstream, xenial): ignored 7, needed 4, not-affected 4. https://ubuntu.com/security/CVE-2021-43616

Affected software / configurations for CVE-2021-43616

Vendor Product Version Raw CPE
npmjs npm >= 7.0.0, <= 7.24.2 cpe:2.3:a:npmjs:npm:*:*:*:*:*:*:*:*
npmjs npm >= 8.0.0, <= 8.1.3 cpe:2.3:a:npmjs:npm:*:*:*:*:*:*:*:*
netapp next_generation_application_programming_interface cpe:2.3:a:netapp:next_generation_application_programming_interface:-:*:*:*:*:*:*:*
fedoraproject fedora 35 cpe:2.3:o:fedoraproject:fedora:35:*:*:*:*:*:*:*

References for CVE-2021-43616

URL Tags
https://docs.npmjs.com/cli/v7/commands/npm-ci Product Vendor Advisory
https://docs.npmjs.com/cli/v8/commands/npm-ci
https://github.com/icatalina/CVE-2021-43616 Third Party Advisory
https://github.com/npm/cli/commit/457e0ae61bbc55846f5af44afa4066921923490f Patch Third Party Advisory
https://github.com/npm/cli/issues/2701 Exploit Issue Tracking Third Party Advisory
https://github.com/npm/cli/issues/2701#issuecomment-972900511
https://github.com/npm/cli/issues/2701#issuecomment-979054224
https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/NXNVFKOF5ZYH5NIRWHKN6O6UBCHDV6FE/
https://medium.com/cider-sec/this-time-we-were-lucky-85c0dcac94a0 Exploit Third Party Advisory
https://security.netapp.com/advisory/ntap-20211210-0002/ Third Party Advisory
cvelogic Threat Intelligence