Every CVE Search/ Get API key

CVE-2021-39135

UNIX Symbolic Link (Symlink) Following in @npmcli/arborist

8.2 HighFix available

@npmcli/arborist, the library that calculates dependency trees and manages the node_modules folder hierarchy for the npm command line interface, aims to guarantee that package dependency contracts will be met, and the extraction of package contents will always be performed into the expected folder. This is accomplished by extracting package contents into a project's node_modules folder. If the node_modules folder of the root project or any of its dependencies is somehow replaced with a symbolic link, it could allow Arborist to write package dependencies to any arbitrary location on the file system. Note that symbolic links contained within package artifact contents are filtered out, so another means of creating a node_modules symbolic link would have to be employed. 1. A preinstall script could replace node_modules with a symlink. (This is prevented by using --ignore-scripts.) 2. An attacker could supply the target with a git repository, instructing them to run npm install --ignore-scripts in the root. This may be successful, because npm install --ignore-scripts is typically not capable of making changes outside of the project directory, so it may be deemed safe. This is patched in @npmcli/arborist 2.8.2 which is included in npm v7.20.7 and above. For more information including workarounds please see the referenced GHSA-gmw6-94gg-2rc2.

Attack profile

How easy it is to exploit

Attack vector
Local
Complexity
Low
Privileges needed
None
User interaction
Required

What an attacker can affect

Confidentiality
High
Integrity
High
Availability
None

Exploit likelihood

0.56%Down 0.1 points since Sep 1, 2021
90%50%10%1%

What each source reports

CVE List Score used 8.2

UNIX Symbolic Link (Symlink) Following in @npmcli/arborist

@npmcli/arborist, the library that calculates dependency trees and manages the node_modules folder hierarchy for the npm command line interface, aims to guarantee that package dependency contracts will be met, and the extraction of package contents will always be performed into the expected folder. This is accomplished by extracting package contents into a project's node_modules folder. If the node_modules folder of the root project or any of its dependencies is somehow replaced with a symbolic link, it could allow Arborist to write package dependencies to any arbitrary location on the file system. Note that symbolic links contained within package artifact contents are filtered out, so another means of creating a node_modules symbolic link would have to be employed. 1. A preinstall script could replace node_modules with a symlink. (This is prevented by using --ignore-scripts.) 2. An attacker could supply the target with a git repository, instructing them to run npm install --ignore-scripts in the root. This may be successful, because npm install --ignore-scripts is typically not capable of making changes outside of the project directory, so it may be deemed safe. This is patched in @npmcli/arborist 2.8.2 which is included in npm v7.20.7 and above. For more information including workarounds please see the referenced GHSA-gmw6-94gg-2rc2.

Record
CVE-2021-39135
CVSS 3.1
8.2 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N
Weakness
CWE-61
Updated
2026-11-02
EUVDEUVD-2021-1724 8.2

@npmcli/arborist, the library that calculates dependency trees and manages the node_modules folder hierarchy for the npm command line interface, aims to guarantee that package dependency contracts will be met, and the extraction of package contents will always be performed into the expected folder. This is accomplished by extracting package contents into a project's node_modules folder. If the node_modules folder of the root project or any of its dependencies is somehow replaced with a symbolic link, it could allow Arborist to write package dependencies to any arbitrary location on the file system. Note that symbolic links contained within package artifact contents are filtered out, so another means of creating a node_modules symbolic link would have to be employed. 1. A preinstall script could replace node_modules with a symlink. (This is prevented by using --ignore-scripts.) 2. An attacker could supply the target with a git repository, instructing them to run npm install --ignore-scripts in the root. This may be successful, because npm install --ignore-scripts is typically not capable of making changes outside of the project directory, so it may be deemed safe. This is patched in @npmcli/arborist 2.8.2 which is included in npm v7.20.7 and above. For more information including workarounds please see the referenced GHSA-gmw6-94gg-2rc2.

Record
EUVD-2021-1724
CVSS 3.1
8.2 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N
Updated
2026-11-03
GitHub AdvisoriesGHSA-gmw6-94gg-2rc2 8.2

UNIX Symbolic Link (Symlink) Following in @npmcli/arborist

Impact

Arbitrary File Creation, Arbitrary File Overwrite, Arbitrary Code Execution

@npmcli/arborist, the library that calculates dependency trees and manages the node_modules folder hierarchy for the npm command line interface, aims to guarantee that package dependency contracts will be met, and the extraction of package contents will always be performed into the expected folder.

This is accomplished by extracting package contents into a project's node_modules folder.

If the node_modules folder of the root project or any of its dependencies is somehow replaced with a symbolic link, it could allow Arborist to write package dependencies to any arbitrary location on the file system.

Note that symbolic links contained within package artifact contents are filtered out, so another means of creating a node_modules symbolic link would have to be employed.

  1. A preinstall script could replace node_modules with a symlink. (This is prevented by using --ignore-scripts.)
  2. An attacker could supply the target with a git repository, instructing them to run npm install --ignore-scripts in the root. This may be successful, because npm install --ignore-scripts is typically not capable of making changes outside of the project directory, so it may be deemed safe.

Patches

2.8.2 (included in npm v7.20.7 and above)

Workarounds

Do not run npm install on untrusted codebases, without first ensuring that the node_modules directory in the project is not a symbolic link.

Fix

Prior to extracting any package contents, the node_modules folder into which it is extracted is verified to be a real directory. If it is not, then it is removed.

Caveat: if you are currently relying on creating a symbolic link to the node_modules folder in order to share dependencies between projects, then that will no longer be possible. Please use the npm link command, explicit file:... dependencies, and/or workspaces to share dependencies in a development environment.

Record
GHSA-gmw6-94gg-2rc2
CVSS 3.1
8.2 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N
Weakness
CWE-59, CWE-61
Updated
2026-11-02
NVD 8.2

@npmcli/arborist, the library that calculates dependency trees and manages the node_modules folder hierarchy for the npm command line interface, aims to guarantee that package dependency contracts will be met, and the extraction of package contents will always be performed into the expected folder. This is accomplished by extracting package contents into a project's node_modules folder. If the node_modules folder of the root project or any of its dependencies is somehow replaced with a symbolic link, it could allow Arborist to write package dependencies to any arbitrary location on the file system. Note that symbolic links contained within package artifact contents are filtered out, so another means of creating a node_modules symbolic link would have to be employed. 1. A preinstall script could replace node_modules with a symlink. (This is prevented by using --ignore-scripts.) 2. An attacker could supply the target with a git repository, instructing them to run npm install --ignore-scripts in the root. This may be successful, because npm install --ignore-scripts is typically not capable of making changes outside of the project directory, so it may be deemed safe. This is patched in @npmcli/arborist 2.8.2 which is included in npm v7.20.7 and above. For more information including workarounds please see the referenced GHSA-gmw6-94gg-2rc2.

Record
CVE-2021-39135
CVSS 3.1
8.2 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N
CVSS 3.1
7.8 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
CVSS 2.0
4.4 MediumAV:L/AC:M/Au:N/C:P/I:P/A:P
Weakness
CWE-61, CWE-59
Updated
2026-11-02
OSVALPINE-CVE-2021-39135 7.8

@npmcli/arborist, the library that calculates dependency trees and manages the node_modules folder hierarchy for the npm command line interface, aims to guarantee that package dependency contracts will be met, and the extraction of package contents will always be performed into the expected folder. This is accomplished by extracting package contents into a project's node_modules folder. If the node_modules folder of the root project or any of its dependencies is somehow replaced with a symbolic link, it could allow Arborist to write package dependencies to any arbitrary location on the file system. Note that symbolic links contained within package artifact contents are filtered out, so another means of creating a node_modules symbolic link would have to be employed. 1. A preinstall script could replace node_modules with a symlink. (This is prevented by using --ignore-scripts.) 2. An attacker could supply the target with a git repository, instructing them to run npm install --ignore-scripts in the root. This may be successful, because npm install --ignore-scripts is typically not capable of making changes outside of the project directory, so it may be deemed safe. This is patched in @npmcli/arborist 2.8.2 which is included in npm v7.20.7 and above. For more information including workarounds please see the referenced GHSA-gmw6-94gg-2rc2.

Record
ALPINE-CVE-2021-39135
CVSS 3.1
7.8 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVBELL-CVE-2021-39135 7.8

CVE-2021-39135 does not affect BellSoft software

Record
BELL-CVE-2021-39135
CVSS 3.1
7.8 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Updated
2026-11-02
Show 15 moreShow less
OSV 7.8

@npmcli/arborist, the library that calculates dependency trees and manages the node_modules folder hierarchy for the npm command line interface, aims to guarantee that package dependency contracts will be met, and the extraction of package contents will always be performed into the expected folder. This is accomplished by extracting package contents into a project's node_modules folder. If the node_modules folder of the root project or any of its dependencies is somehow replaced with a symbolic link, it could allow Arborist to write package dependencies to any arbitrary location on the file system. Note that symbolic links contained within package artifact contents are filtered out, so another means of creating a node_modules symbolic link would have to be employed. 1. A preinstall script could replace node_modules with a symlink. (This is prevented by using --ignore-scripts.) 2. An attacker could supply the target with a git repository, instructing them to run npm install --ignore-scripts in the root. This may be successful, because npm install --ignore-scripts is typically not capable of making changes outside of the project directory, so it may be deemed safe. This is patched in @npmcli/arborist 2.8.2 which is included in npm v7.20.7 and above. For more information including workarounds please see the referenced GHSA-gmw6-94gg-2rc2.

Record
CVE-2021-39135
CVSS 3.1
7.8 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVDEBIAN-CVE-2021-39135 7.8

@npmcli/arborist, the library that calculates dependency trees and manages the node_modules folder hierarchy for the npm command line interface, aims to guarantee that package dependency contracts will be met, and the extraction of package contents will always be performed into the expected folder. This is accomplished by extracting package contents into a project's node_modules folder. If the node_modules folder of the root project or any of its dependencies is somehow replaced with a symbolic link, it could allow Arborist to write package dependencies to any arbitrary location on the file system. Note that symbolic links contained within package artifact contents are filtered out, so another means of creating a node_modules symbolic link would have to be employed. 1. A preinstall script could replace node_modules with a symlink. (This is prevented by using --ignore-scripts.) 2. An attacker could supply the target with a git repository, instructing them to run npm install --ignore-scripts in the root. This may be successful, because npm install --ignore-scripts is typically not capable of making changes outside of the project directory, so it may be deemed safe. This is patched in @npmcli/arborist 2.8.2 which is included in npm v7.20.7 and above. For more information including workarounds please see the referenced GHSA-gmw6-94gg-2rc2.

Record
DEBIAN-CVE-2021-39135
CVSS 3.1
7.8 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVGHSA-gmw6-94gg-2rc2 8.2

UNIX Symbolic Link (Symlink) Following in @npmcli/arborist

Impact

Arbitrary File Creation, Arbitrary File Overwrite, Arbitrary Code Execution

@npmcli/arborist, the library that calculates dependency trees and manages the node_modules folder hierarchy for the npm command line interface, aims to guarantee that package dependency contracts will be met, and the extraction of package contents will always be performed into the expected folder.

This is accomplished by extracting package contents into a project's node_modules folder.

If the node_modules folder of the root project or any of its dependencies is somehow replaced with a symbolic link, it could allow Arborist to write package dependencies to any arbitrary location on the file system.

Note that symbolic links contained within package artifact contents are filtered out, so another means of creating a node_modules symbolic link would have to be employed.

  1. A preinstall script could replace node_modules with a symlink. (This is prevented by using --ignore-scripts.)
  2. An attacker could supply the target with a git repository, instructing them to run npm install --ignore-scripts in the root. This may be successful, because npm install --ignore-scripts is typically not capable of making changes outside of the project directory, so it may be deemed safe.

Patches

2.8.2 (included in npm v7.20.7 and above)

Workarounds

Do not run npm install on untrusted codebases, without first ensuring that the node_modules directory in the project is not a symbolic link.

Fix

Prior to extracting any package contents, the node_modules folder into which it is extracted is verified to be a real directory. If it is not, then it is removed.

Caveat: if you are currently relying on creating a symbolic link to the node_modules folder in order to share dependencies between projects, then that will no longer be possible. Please use the npm link command, explicit file:... dependencies, and/or workspaces to share dependencies in a development environment.

Record
GHSA-gmw6-94gg-2rc2
CVSS 3.1
8.2 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N
Weakness
CWE-59, CWE-61
Updated
2026-11-02
OSVOESA-2022-1620 8.2

nodejs security update

Node.js is a platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.

Security Fix(es):

An issue was discovered in ajv.validate() in Ajv (aka Another JSON Schema Validator) 6.12.2. A carefully crafted JSON schema could be provided that allows execution of other code by prototype pollution. (While untrusted schemas are recommended against, the worst case of an untrusted schema should be a denial of service, not execution of code.)(CVE-2020-15366)

The X509_V_FLAG_X509_STRICT flag enables additional security checks of the certificates present in a certificate chain. It is not set by default. Starting from OpenSSL version 1.1.1h a check to disallow certificates in the chain that have explicitly encoded elliptic curve parameters was added as an additional strict check. An error in the implementation of this check meant that the result of a previous check to confirm that certificates in the chain are valid CA certificates was overwritten. This effectively bypasses the check that non-CA certificates must not be able to issue other certificates. If a "purpose" has been configured then there is a subsequent opportunity for checks that the certificate is a valid CA. All of the named "purpose" values implemented in libcrypto perform this check. Therefore, where a purpose is set the certificate chain will still be rejected even when the strict flag has been used. A purpose is set by default in libssl client and server certificate verification routines, but it can be overridden or removed by an application. In order to be affected, an application must explicitly set the X509_V_FLAG_X509_STRICT verification flag and either not set a purpose for the certificate verification or, in the case of TLS client or server applications, override the default purpose. OpenSSL versions 1.1.1h and newer are affected by this issue. Users of these versions should upgrade to OpenSSL 1.1.1k. OpenSSL 1.0.2 is not impacted by this issue. Fixed in OpenSSL 1.1.1k (Affected 1.1.1h-1.1.1j).(CVE-2021-3450)

Node.js < 12.22.9, < 14.18.3, < 16.13.2, and < 17.3.1 converts SANs (Subject Alternative Names) to a string format. It uses this string to check peer certificates against hostnames when validating connections. The string format was subject to an injection vulnerability when name constraints were used within a certificate chain, allowing the bypass of these name constraints.Versions of Node.js with the fix for this escape SANs containing the problematic characters in order to prevent the injection. This behavior can be reverted through the --security-revert command-line option.(CVE-2021-44532)

Node.js < 12.22.9, < 14.18.3, < 16.13.2, and < 17.3.1 did not handle multi-value Relative Distinguished Names correctly. Attackers could craft certificate subjects containing a single-value Relative Distinguished Name that would be interpreted as a multi-value Relative Distinguished Name, for example, in order to inject a Common Name that would allow bypassing the certificate subject verification.Affected versions of Node.js that do not accept multi-value Relative Distinguished Names and are thus not vulnerable to such attacks themselves. However, third-party code that uses node's ambiguous presentation of certificate subjects may be vulnerable.(CVE-2021-44533)

Accepting arbitrary Subject Alternative Name (SAN) types, unless a PKI is specifically defined to use a particular SAN type, can result in bypassing name-constrained intermediates. Node.js < 12.22.9, < 14.18.3, < 16.13.2, and < 17.3.1 was accepting URI SAN types, which PKIs are often not defined to use. Additionally, when a protocol allows URI SANs, Node.js did not match the URI correctly.Versions of Node.js…

Record
OESA-2022-1620
CVSS 3.1
8.2 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:H
Updated
2026-11-02
OSVUBUNTU-CVE-2021-39135 8.2

@npmcli/arborist, the library that calculates dependency trees and manages the node_modules folder hierarchy for the npm command line interface, aims to guarantee that package dependency contracts will be met, and the extraction of package contents will always be performed into the expected folder. This is accomplished by extracting package contents into a project's node_modules folder. If the node_modules folder of the root project or any of its dependencies is somehow replaced with a symbolic link, it could allow Arborist to write package dependencies to any arbitrary location on the file system. Note that symbolic links contained within package artifact contents are filtered out, so another means of creating a node_modules symbolic link would have to be employed. 1. A preinstall script could replace node_modules with a symlink. (This is prevented by using --ignore-scripts.) 2. An attacker could supply the target with a git repository, instructing them to run npm install --ignore-scripts in the root. This may be successful, because npm install --ignore-scripts is typically not capable of making changes outside of the project directory, so it may be deemed safe. This is patched in @npmcli/arborist 2.8.2 which is included in npm v7.20.7 and above. For more information including workarounds please see the referenced GHSA-gmw6-94gg-2rc2.

Record
UBUNTU-CVE-2021-39135
CVSS 3.1
8.2 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N
CVSS 3.1
7.8 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVMGASA-2021-0463 No score

Updated nodejs packages fix security vulnerability

Multiple security fixes for nodejs. See references for details

Record
MGASA-2021-0463
Updated
2026-11-02
OSVopenSUSE-SU-2021:1552-1 No score

Security update for nodejs14

This update for nodejs14 fixes the following issues:

nodejs14 was updated to 14.18.1:

  • deps: update llhttp to 2.1.4

    • HTTP Request Smuggling due to spaced in headers (bsc#1191601, CVE-2021-22959)
    • HTTP Request Smuggling when parsing the body (bsc#1191602, CVE-2021-22960)

Changes in 14.18.0:

  • buffer:

    • introduce Blob
    • add base64url encoding option
  • child_process:

    • allow options.cwd receive a URL
    • add timeout to spawn and fork
    • allow promisified exec to be cancel
    • add 'overlapped' stdio flag
  • dns: add 'tries' option to Resolve options

  • fs:

    • allow empty string for temp directory prefix
    • allow no-params fsPromises fileHandle read
    • add support for async iterators to fsPromises.writeFile
  • http2: add support for sensitive headers

  • process: add 'worker' event

  • tls: allow reading data into a static buffer

  • worker: add setEnvironmentData/getEnvironmentData

Changes in 14.17.6

  • deps: upgrade npm to 6.14.15 which fixes a number of security issues (bsc#1190057, CVE-2021-37701, bsc#1190056, CVE-2021-37712, bsc#1190055, CVE-2021-37713, bsc#1190054, CVE-2021-39134, bsc#1190053, CVE-2021-39135)

This update was imported from the SUSE:SLE-15-SP2:Update update project.

Record
openSUSE-SU-2021:1552-1
Updated
2026-11-02
OSVopenSUSE-SU-2021:1574-1 No score

Security update for nodejs12

This update for nodejs12 fixes the following issues:

  • CVE-2021-22959: Fixed HTTP Request Smuggling due to spaced in headers (bsc#1191601).
  • CVE-2021-22960: Fixed HTTP Request Smuggling when parsing the body (bsc#1191602).
  • CVE-2021-37701: Fixed arbitrary file creation and overwrite in nodejs-tar (bsc#1190057).
  • CVE-2021-37712: Fixed arbitrary file creation and overwrite in nodejs-tar (bsc#1190056).
  • CVE-2021-37713: Fixed arbitrary code execution and file creation and overwrite in nodejs-tar (bsc#1190055).
  • CVE-2021-39134: Fixed symling following vulnerability in nodejs-arborist (bsc#1190054).
  • CVE-2021-39135: Fixed symling following vulnerability in nodejs-arborist (bsc#1190053).

This update was imported from the SUSE:SLE-15-SP2:Update update project.

Record
openSUSE-SU-2021:1574-1
Updated
2026-11-02
OSVopenSUSE-SU-2021:3940-1 No score

Security update for nodejs12

This update for nodejs12 fixes the following issues:

  • CVE-2021-22959: Fixed HTTP Request Smuggling due to spaced in headers (bsc#1191601).
  • CVE-2021-22960: Fixed HTTP Request Smuggling when parsing the body (bsc#1191602).
  • CVE-2021-37701: Fixed arbitrary file creation and overwrite in nodejs-tar (bsc#1190057).
  • CVE-2021-37712: Fixed arbitrary file creation and overwrite in nodejs-tar (bsc#1190056).
  • CVE-2021-37713: Fixed arbitrary code execution and file creation and overwrite in nodejs-tar (bsc#1190055).
  • CVE-2021-39134: Fixed symling following vulnerability in nodejs-arborist (bsc#1190054).
  • CVE-2021-39135: Fixed symling following vulnerability in nodejs-arborist (bsc#1190053).
Record
openSUSE-SU-2021:3940-1
Updated
2026-11-02
OSVopenSUSE-SU-2021:3964-1 No score

Security update for nodejs14

This update for nodejs14 fixes the following issues:

nodejs14 was updated to 14.18.1:

  • deps: update llhttp to 2.1.4

    • HTTP Request Smuggling due to spaced in headers (bsc#1191601, CVE-2021-22959)
    • HTTP Request Smuggling when parsing the body (bsc#1191602, CVE-2021-22960)

Changes in 14.18.0:

  • buffer:

    • introduce Blob
    • add base64url encoding option
  • child_process:

    • allow options.cwd receive a URL
    • add timeout to spawn and fork
    • allow promisified exec to be cancel
    • add 'overlapped' stdio flag
  • dns: add 'tries' option to Resolve options

  • fs:

    • allow empty string for temp directory prefix
    • allow no-params fsPromises fileHandle read
    • add support for async iterators to fsPromises.writeFile
  • http2: add support for sensitive headers

  • process: add 'worker' event

  • tls: allow reading data into a static buffer

  • worker: add setEnvironmentData/getEnvironmentData

Changes in 14.17.6

  • deps: upgrade npm to 6.14.15 which fixes a number of security issues (bsc#1190057, CVE-2021-37701, bsc#1190056, CVE-2021-37712, bsc#1190055, CVE-2021-37713, bsc#1190054, CVE-2021-39134, bsc#1190053, CVE-2021-39135)
Record
openSUSE-SU-2021:3964-1
Updated
2026-11-02
OSVopenSUSE-SU-2024:11616-1 No score

nodejs14-14.18.1-1.1 on GA media

These are all security issues fixed in the nodejs14-14.18.1-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:11616-1
Updated
2026-11-02
OSVSUSE-SU-2021:3886-1 No score

Security update for nodejs14

This update for nodejs14 fixes the following issues:

nodejs14 was updated to 14.18.1:

  • deps: update llhttp to 2.1.4

Security fixes:

  • HTTP Request Smuggling due to spaced in headers (bsc#1191601, CVE-2021-22959)
  • HTTP Request Smuggling when parsing the body (bsc#1191602, CVE-2021-22960)

Changes in 14.18.0:

  • buffer:

    • introduce Blob
    • add base64url encoding option
  • child_process:

    • allow options.cwd receive a URL
    • add timeout to spawn and fork
    • allow promisified exec to be cancel
    • add 'overlapped' stdio flag
  • dns: add 'tries' option to Resolve options

  • fs:

    • allow empty string for temp directory prefix
    • allow no-params fsPromises fileHandle read
    • add support for async iterators to fsPromises.writeFile
  • http2: add support for sensitive headers

  • process: add 'worker' event

  • tls: allow reading data into a static buffer

  • worker: add setEnvironmentData/getEnvironmentData

Changes in 14.17.6:

  • deps: upgrade npm to 6.14.15 which fixes a number of security issues (bsc#1190057, CVE-2021-37701, bsc#1190056, CVE-2021-37712, bsc#1190055, CVE-2021-37713, bsc#1190054, CVE-2021-39134, bsc#1190053, CVE-2021-39135)
Record
SUSE-SU-2021:3886-1
Updated
2026-11-02
OSVSUSE-SU-2021:3940-1 No score

Security update for nodejs12

This update for nodejs12 fixes the following issues:

  • CVE-2021-22959: Fixed HTTP Request Smuggling due to spaced in headers (bsc#1191601).
  • CVE-2021-22960: Fixed HTTP Request Smuggling when parsing the body (bsc#1191602).
  • CVE-2021-37701: Fixed arbitrary file creation and overwrite in nodejs-tar (bsc#1190057).
  • CVE-2021-37712: Fixed arbitrary file creation and overwrite in nodejs-tar (bsc#1190056).
  • CVE-2021-37713: Fixed arbitrary code execution and file creation and overwrite in nodejs-tar (bsc#1190055).
  • CVE-2021-39134: Fixed symling following vulnerability in nodejs-arborist (bsc#1190054).
  • CVE-2021-39135: Fixed symling following vulnerability in nodejs-arborist (bsc#1190053).
Record
SUSE-SU-2021:3940-1
Updated
2026-11-02
OSVSUSE-SU-2021:3964-1 No score

Security update for nodejs14

This update for nodejs14 fixes the following issues:

nodejs14 was updated to 14.18.1:

  • deps: update llhttp to 2.1.4

    • HTTP Request Smuggling due to spaced in headers (bsc#1191601, CVE-2021-22959)
    • HTTP Request Smuggling when parsing the body (bsc#1191602, CVE-2021-22960)

Changes in 14.18.0:

  • buffer:

    • introduce Blob
    • add base64url encoding option
  • child_process:

    • allow options.cwd receive a URL
    • add timeout to spawn and fork
    • allow promisified exec to be cancel
    • add 'overlapped' stdio flag
  • dns: add 'tries' option to Resolve options

  • fs:

    • allow empty string for temp directory prefix
    • allow no-params fsPromises fileHandle read
    • add support for async iterators to fsPromises.writeFile
  • http2: add support for sensitive headers

  • process: add 'worker' event

  • tls: allow reading data into a static buffer

  • worker: add setEnvironmentData/getEnvironmentData

Changes in 14.17.6

  • deps: upgrade npm to 6.14.15 which fixes a number of security issues (bsc#1190057, CVE-2021-37701, bsc#1190056, CVE-2021-37712, bsc#1190055, CVE-2021-37713, bsc#1190054, CVE-2021-39134, bsc#1190053, CVE-2021-39135)
Record
SUSE-SU-2021:3964-1
Updated
2026-11-02
OSVSUSE-SU-2022:0101-1 No score

Security update for nodejs12

This update for nodejs12 fixes the following issues:

  • CVE-2021-44531: Fixed improper handling of URI Subject Alternative Names (bsc#1194511).
  • CVE-2021-44532: Fixed certificate Verification Bypass via String Injection (bsc#1194512).
  • CVE-2021-44533: Fixed incorrect handling of certificate subject and issuer fields (bsc#1194513).
  • CVE-2022-21824: Fixed prototype pollution via console.table properties (bsc#1194514).
  • CVE-2021-22959: Fixed HTTP Request Smuggling due to spaced in headers(bsc#1191601).
  • CVE-2021-22960: Fixed HTTP Request Smuggling when parsing the body (bsc#1191602).
  • CVE-2021-37701: Fixed arbitrary file creation and overwrite vulnerability in nodejs-tar (bsc#1190057).
  • CVE-2021-37712: Fixed arbitrary file creation and overwrite vulnerability in nodejs-tar (bsc#1190056).
  • CVE-2021-37713: Fixed arbitrary file creation/overwrite and arbitrary code execution vulnerability in nodejs-tar (bsc#1190055).
  • CVE-2021-39134: Fixed symlink following vulnerability in nodejs-arborist (bsc#1190054).
  • CVE-2021-39135: Fixed symlink following vulnerability in nodejs-arborist (bsc#1190053).
Record
SUSE-SU-2022:0101-1
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
@npmcli/arborist
npm
before 2.8.2
2.8.2
nodejs
Alpine:v3.11
before 12.22.6-r0
12.22.6-r0
nodejs
Alpine:v3.12
before 12.22.6-r0
12.22.6-r0
nodejs
Alpine:v3.13
before 14.17.6-r0
14.17.6-r0
nodejs
Alpine:v3.14
before 14.17.6-r0
14.17.6-r0
nodejs
Alpine:v3.15
before 14.17.6-r0
14.17.6-r0
nodejs
Alpine:v3.16
before 14.17.6-r0
14.17.6-r0
nodejs
Alpine:v3.17
before 14.17.6-r0
14.17.6-r0
nodejs
Alpine:v3.18
before 14.17.6-r0
14.17.6-r0
nodejs
Alpine:v3.19
before 14.17.6-r0
14.17.6-r0
Show 27 moreShow less
Affected packages
PackageAffectedFixed
nodejs
Alpine:v3.20
before 14.17.6-r0
14.17.6-r0
nodejs
Alpine:v3.21
before 14.17.6-r0
14.17.6-r0
nodejs
Alpine:v3.22
before 14.17.6-r0
14.17.6-r0
nodejs
Alpine:v3.23
before 14.17.6-r0
14.17.6-r0
nodejs
Alpine:v3.24
before 14.17.6-r0
14.17.6-r0
npm
Debian:12
before 7.24.0+ds-2
7.24.0+ds-2
npm
Debian:13
before 7.24.0+ds-2
7.24.0+ds-2
npm
Debian:14
before 7.24.0+ds-2
7.24.0+ds-2
nodejs
Mageia:8
From an advisory covering 9 CVEs
before 14.17.6-1.mga8
14.17.6-1.mga8
nodejs
openEuler:20.03-LTS-SP1
From an advisory covering 12 CVEs
before 12.22.11-1.oe1
12.22.11-1.oe1
nodejs
openEuler:20.03-LTS-SP2
From an advisory covering 12 CVEs
before 12.22.11-1.oe1
12.22.11-1.oe1
nodejs
openEuler:20.03-LTS-SP3
From an advisory covering 12 CVEs
before 12.22.11-1.oe1
12.22.11-1.oe1
nodejs14
SUSE:Linux Enterprise Module for Web and Scripting 12
From an advisory covering 7 CVEs
before 14.18.1-6.18.2
14.18.1-6.18.2
nodejs12
SUSE:Linux Enterprise Module for Web and Scripting 15 SP2
From an advisory covering 7 CVEs
before 12.22.7-4.22.1
12.22.7-4.22.1
nodejs12
SUSE:Linux Enterprise Module for Web and Scripting 15 SP3
From an advisory covering 7 CVEs
before 12.22.7-4.22.1
12.22.7-4.22.1
nodejs14
SUSE:Linux Enterprise Module for Web and Scripting 15 SP2
From an advisory covering 7 CVEs
before 14.18.1-15.21.2
14.18.1-15.21.2
nodejs14
SUSE:Linux Enterprise Module for Web and Scripting 15 SP3
From an advisory covering 7 CVEs
before 14.18.1-15.21.2
14.18.1-15.21.2
nodejs12
SUSE:Linux Enterprise Module for Web and Scripting 12
From an advisory covering 11 CVEs
before 12.22.9-1.38.1
12.22.9-1.38.1
npm
Ubuntu:14.04:LTS
All versions, plus listed versions
1.2.18~dfsg-31.3.10~dfsg-1
None known
npm
Ubuntu:Pro:16.04:LTS
All versions, plus listed versions
1.4.21+ds-23.5.2-0ubuntu43.5.2-0ubuntu4.1.16.04.1~esm1
None known
npm
Ubuntu:Pro:18.04:LTS
All versions, plus listed versions
3.5.2-0ubuntu43.5.2-0ubuntu4.1.18.04.1~esm1
None known
npm
Ubuntu:20.04:LTS
All versions, plus listed versions
5.8.0+ds6-46.14.4+ds-1ubuntu2
None known
nodejs14
openSUSE:Leap 15.2
From an advisory covering 7 CVEs
before 14.18.1-lp152.17.1
14.18.1-lp152.17.1
nodejs12
openSUSE:Leap 15.2
From an advisory covering 7 CVEs
before 12.22.7-lp152.3.21.1
12.22.7-lp152.3.21.1
nodejs12
openSUSE:Leap 15.3
From an advisory covering 7 CVEs
before 12.22.7-4.22.1
12.22.7-4.22.1
nodejs14
openSUSE:Leap 15.3
From an advisory covering 7 CVEs
before 14.18.1-15.21.2
14.18.1-15.21.2
nodejs14
openSUSE:Tumbleweed
From an advisory covering 5 CVEs
before 14.18.1-1.1
14.18.1-1.1

History

History
RecordedChangedSources
affected, facts
aliasesEUVD
first indexedCVE List, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2021-39135 is a high vulnerability (CVSS 8.2) in Npm Arborist, published August 31, 2021. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.56%, the 47th percentile. Fixed in @npmcli/arborist 2.8.2.

References

Show 55 moreShow less
This page doesn't list everything

Left out here: the rest of 1 source description. The JSON record has them.

MoveEnter Open