CVE Vulnerabilities

CVE-2019-16775

UNIX Symbolic Link (Symlink) Following

Published: Dec 13, 2019 | Modified: Jun 17, 2026
CVSS 3.x
6.5
MEDIUM
Source:
NVD
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
CVSS 2.x
4 MEDIUM
AV:N/AC:L/Au:S/C:N/I:P/A:N
RedHat/V2
RedHat/V3
4.8 LOW
CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:N/I:H/A:N
Ubuntu
MEDIUM

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 users 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.

Weakness

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 Software

NameVendorStart VersionEnd Version
Enterprise_linuxRedhat8.0 (including)8.0 (including)
Enterprise_linux_eusRedhat8.1 (including)8.1 (including)
Red Hat Enterprise Linux 8RedHatnodejs:12-8010020200116150415.c27ad7f8*
Red Hat Enterprise Linux 8RedHatnodejs:10-8010020200213140254.c27ad7f8*
Red Hat Enterprise Linux 8.0 Update Services for SAP SolutionsRedHatnodejs:10-8000020200214110450.f8e95b4e*
Red Hat Software Collections for Red Hat Enterprise Linux 7RedHatrh-nodejs10-nodejs-0:10.19.0-1.el7*
Red Hat Software Collections for Red Hat Enterprise Linux 7RedHatrh-nodejs12-nodejs-0:12.16.1-1.el7*
Red Hat Software Collections for Red Hat Enterprise Linux 7RedHatrh-nodejs8-nodejs-0:8.17.0-2.el7*
Red Hat Software Collections for Red Hat Enterprise Linux 7.5 EUSRedHatrh-nodejs10-nodejs-0:10.19.0-1.el7*
Red Hat Software Collections for Red Hat Enterprise Linux 7.5 EUSRedHatrh-nodejs12-nodejs-0:12.16.1-1.el7*
Red Hat Software Collections for Red Hat Enterprise Linux 7.6 EUSRedHatrh-nodejs10-nodejs-0:10.19.0-1.el7*
Red Hat Software Collections for Red Hat Enterprise Linux 7.6 EUSRedHatrh-nodejs12-nodejs-0:12.16.1-1.el7*
Red Hat Software Collections for Red Hat Enterprise Linux 7.6 EUSRedHatrh-nodejs8-nodejs-0:8.17.0-2.el7*
Red Hat Software Collections for Red Hat Enterprise Linux 7.7 EUSRedHatrh-nodejs10-nodejs-0:10.19.0-1.el7*
Red Hat Software Collections for Red Hat Enterprise Linux 7.7 EUSRedHatrh-nodejs12-nodejs-0:12.16.1-1.el7*
Red Hat Software Collections for Red Hat Enterprise Linux 7.7 EUSRedHatrh-nodejs8-nodejs-0:8.17.0-2.el7*
NpmUbuntubionic*
NpmUbuntudisco*
NpmUbuntueoan*
NpmUbuntuesm-apps/xenial*
NpmUbuntufocal*
NpmUbuntugroovy*
NpmUbuntuhirsute*
NpmUbuntuimpish*
NpmUbuntukinetic*
NpmUbuntulunar*
NpmUbuntumantic*
NpmUbuntuoracular*
NpmUbuntuplucky*
NpmUbuntuquesting*
NpmUbuntutrusty*
NpmUbuntutrusty/esm*
NpmUbuntuxenial*

Potential Mitigations

  • Follow the principle of least privilege when assigning access rights to entities in a software system.
  • Denying access to a file can prevent an attacker from replacing that file with a link to a sensitive file. Ensure good compartmentalization in the system to provide protected areas that can be trusted.

References