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.
Remediation
References
https://blog.npmjs.org/post/189618601100/binary-planting-with-the-npm-cli
https://github.com/npm/cli/security/advisories/GHSA-m6cx-g6qm-p2cx
http://lists.opensuse.org/opensuse-security-announce/2020-01/msg00027.html
https://www.oracle.com/security-alerts/cpujan2020.html
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/cpuoct2021.html
https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/Z36UKPO5F3PQ3Q2POMF5LEKXWAH5RUFP/
Related Vulnerabilities
CVE-2019-19771 Vulnerability in npm package ecruve
CVE-2016-15011 Vulnerability in maven package be.e_contract.dssp:dssp-client
CVE-2023-3691 Vulnerability in maven package org.webjars:layui
CVE-2022-0508 Vulnerability in npm package @peertube/embed-api
CVE-2023-38905 Vulnerability in maven package org.jeecgframework.boot:jeecg-boot-base-core