CVE-2019-16775
Vulnerability Summary
Timeline
Description
Versions of the npm CLI prior to 6.13.3 are vulnerable to an Arbitrary File Write. It is possible for packages to create symlinks to files outside of thenode_modules folder through the bin field upon installation. A properly constructed entry in the package.json bin field would allow a package publisher to create a symlink pointing to arbitrary files on a user's system when the package is installed. This behavior is still possible through install scripts. This vulnerability bypasses a user using the --ignore-scripts install option.
CVSS Metrics
- v3.1•HIGH•Score: 7.7CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:N
- v3.1•MEDIUM•Score: 6.5CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
- v2.0•MEDIUM•Score: 4AV:N/AC:L/Au:S/C:N/I:P/A:N
EPSS Trends
Current EPSS score: 1.15%• Percentile: 79%
Techniques & Countermeasures
- CWE-59•Improper Link Resolution Before File Access ('Link Following')
The product attempts to access a file based on the filename, but it does not properly prevent that filename from identifying a link or shortcut that resolves to an unintended resource.
- CWE-61•UNIX Symbolic Link (Symlink) Following
The product, when opening a file or directory, does not sufficiently account for when the file is a symbolic link that resolves to a target outside of the intended control sphere. This could allow an attacker to cause the product to operate on unauthorized files.
Affected Systems
- fedoraproject•fedora
31
- npm•cli
≥ < 6.13.3, < 6.13.3
- Npm•npm
< 6.13.3
- npmjs•npm
< 6.13.3
- opensuse•leap
15.1
- oracle•graalvm
19.3.0.2 | 20.3.3 | 21.2.2
- redhat•enterprise_linux
8.0
- redhat•enterprise_linux_eus
8.1
References (16)
- http://lists.opensuse.org/opensuse-security-announce/2020-01/msg00027.html
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/Z36UKPO5F3PQ3Q2POMF5LEKXWAH5RUFP/
- https://access.redhat.com/errata/RHEA-2020:0330
- https://access.redhat.com/errata/RHSA-2020:0573
- https://access.redhat.com/errata/RHSA-2020:0579
- https://access.redhat.com/errata/RHSA-2020:0597
- https://access.redhat.com/errata/RHSA-2020:0602
- https://www.oracle.com/security-alerts/cpujan2020.html
- https://www.oracle.com/security-alerts/cpuoct2021.html
- https://github.com/npm/cli/security/advisories/GHSA-m6cx-g6qm-p2cx
- https://blog.npmjs.org/post/189618601100/binary-planting-with-the-npm-cli
- https://nvd.nist.gov/vuln/detail/CVE-2019-16775
- https://github.com/advisories/GHSA-m6cx-g6qm-p2cx
- https://github.com/npm/cli
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/Z36UKPO5F3PQ3Q2POMF5LEKXWAH5RUFP
- https://www.npmjs.com/advisories/1434