CVE-2016-3956 npm Token Leak in npm

High 7.5 Published Updated

The npm CLI sends bearer tokens to arbitrary remote servers, allowing attackers to steal sensitive authentication information.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2016-3956?

CVE-2016-3956 is a high-severity vulnerability in Nodejs Node.js, published on 2 Jul 2016. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

The CLI in npm before 2.15.1 and 3.x before 3.8.3, as used in Node.js 0.10 before 0.10.44, 0.12 before 0.12.13, 4 before 4.4.2, and 5 before 5.10.0, includes bearer tokens with arbitrary requests, which allows remote HTTP servers to obtain sensitive information by reading Authorization headers.

Weakness: CWE-200

Which versions are affected by CVE-2016-3956?

4 open source packages ship an affected version, including npm. It affects 3 products.

PackageAffectedFixed in
npm npmAll versions2.15.1
npm npmAll versions2.15.1
npm npmFrom 3.0.03.8.3
npm npmFrom 3.0.03.8.3

Products include Ibm Sdk, Nodejs Node.js, Npmjs Npm.

How do I fix CVE-2016-3956?

Upgrade npm to a fixed version for your release line: 2.15.1 or 3.8.3.

Is CVE-2016-3956 being exploited?

There is no known exploitation of CVE-2016-3956 in the wild and no public exploit code.

All Nodejs Node.js vulnerabilities

Sources

Also known as CVE-2016-1000014, DEBIAN-CVE-2016-3956, GHSA-m5h6-hr3q-22h5, MINI-rqw2-fqcx-hhfg, UBUNTU-CVE-2016-3956, USN-4785-1.

Is CVE-2016-3956 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free