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.
{
"versions": [
{
"introduced": "0"
},
{
"last_affected": "19.3.0.2"
},
{
"introduced": "0"
},
{
"last_affected": "20.3.3"
}
]
}{
"versions": [
{
"introduced": "0"
},
{
"last_affected": "15.1"
}
]
}{
"versions": [
{
"introduced": "0"
},
{
"last_affected": "8.0"
},
{
"introduced": "0"
},
{
"last_affected": "8.1"
},
{
"introduced": "0"
},
{
"fixed": "6.13.3"
}
]
}