NIST deprecates RSA-2048 from 2030. Find every one of them before attackers do.
📦
📦 npm
Not in CISA KEV
HIGH severity

CVE-2016-3956 — npm

HIGHFix: npm/npm@f67ecad

CVE-2016-3956 is a high-severity (CVSS 7.5) Information Exposure vulnerability in npm. A fix is available for npm — see the affected versions and patch details below.

npm Token Leak in npm

Also known asGHSA-m5h6-hr3q-22h5
Published
Updated
Affected
2 pkgs
Patched
2 / 2
Exploits
None indexed
Exploitation data as of Nov 1, 2026 · OSV.dev, NVD, FIRST.org (EPSS)

EPSS Exploitation Probability

via FIRST.org ↗
5.5%probability of exploitation in next 30 days
Lower Risk-1.29%
Lower risk than most CVEs93th percentile — riskier than 93% of all scored CVEsHighest risk
2.15%4.03%5.92%7.81%3.2%5.5%May 26Aug 26Nov 26

Probability of exploitation in the next 30 days, from FIRST.org EPSS.

How urgent is this, really

Where this sits among everything scored

Real-World Exposure

2 pkgs affected

How broadly this vulnerability is actually deployed: weekly install volume shows current usage, and reverse-dependency count shows how many other packages break if it stays unpatched.

7Kother npm packages depend on this — each one inherits the vulnerability until it's patched upstream
npmnpm
24.2Mdownloads / week

Description

Affected versions of the npm package include the bearer token of the logged in user in every request made by the CLI, even if the request is not directed towards the user's active registry.

An attacker could create an HTTP server to collect tokens, and by various means including but not limited to install scripts, cause the npm CLI to make a request to that server, which would compromise the user's token.

This compromised token could be used to do anything that the user could do, including publishing new packages.

Recommendation

  1. Update npm with npm install npm@latest -g
  2. Revoke your Tokens
  3. Enable Two-Factor Authentication

Affected Packages

2 total 2 fixed
EcosystemPackageVulnerable rangeFix
📦npmnpmall versions2.15.1npm install npm@2.15.1
📦npmnpm≥ 3.0.0&&< 3.8.33.8.3npm install npm@3.8.3

Affected Products

3 products · 95 configurations
Application
sdkibm
≤ 4.4.1.0
range
Application
node.jsnodejs
84 versions
0.10.00.10.10.10.20.10.30.10.40.10.50.10.60.10.70.10.80.10.90.10.100.10.11
Application
npmnpmjs
≥ 3.0.0 && < 3.8.3
range

Detection & mitigation playbook

Open-source dependency
  1. Detect

    Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for npm, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.

  2. Fix

    Update npm to 2.15.1 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms CVE-2016-3956 is resolved across your whole dependency graph.

  3. Workarounds

    Assume what was exposed is already known: rotate any credential, token or key that the affected component could return, restrict the endpoint to callers that genuinely need it, and strip sensitive fields from responses and error output at the boundary rather than relying on the client not to read them.

Frequently Asked Questions

Affected versions of the `npm` package include the bearer token of the logged in user in every request made by the CLI, even if the request is not directed towards the user's active registry. An attacker could create an HTTP server to collect tokens, and by various means including but not limited to install scripts, cause the npm CLI to make a request to that server, which would compromise the user's token. This compromised token could be used to do anything that the user could do, including publishing new packages. ## Recommendation 1. Update npm with `npm install npm@latest -g` 2. [R
O3 Security · Impact-Aware SCA

Is CVE-2016-3956 in your dependencies?

Find it across npm, including transitive dependencies.

CVE-2016-3956: npm — Fixed in 2.15.1