-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
react-scripts-2.1.8.tgz: 50 vulnerabilities (highest severity is: 9.8) #117
Labels
Mend: dependency security vulnerability
Security vulnerability detected by WhiteSource
Comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Mend: dependency security vulnerability
Security vulnerability detected by WhiteSource
0 participants
Path to dependency file: /package.json
Path to vulnerable library: /frontend/package.json,/package.json
Vulnerabilities
*For some transitive vulnerabilities, there is no version of direct dependency with a fix. Check the "Details" section below to see if there is a version of transitive dependency where vulnerability is fixed.
**In some cases, Remediation PR cannot be created automatically for a vulnerability despite the availability of remediation
Details
Vulnerable Library - fsevents-1.2.4.tgz
Native Access to Mac OS-X FSEvents
Library home page: https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz
Path to dependency file: /package.json
Path to vulnerable library: /package.json,/frontend/package.json
Dependency Hierarchy:
Found in base branch: master
Vulnerability Details
This package has been identified by Mend as containing potential malicious functionality. The severity of the functionality can change depending on where the library is running (user's machine or backend server). The following risks were identified: Malware dropper – this package contains a Trojan horse, allowing the unauthorized installation of other potentially malicious software.
Publish Date: 2023-09-20
URL: MSC-2023-16600
CVSS 3 Score Details (9.8)
Base Score Metrics:
Step up your Open Source Security Game with Mend here
Vulnerable Library - fsevents-1.2.4.tgz
Native Access to Mac OS-X FSEvents
Library home page: https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz
Path to dependency file: /package.json
Path to vulnerable library: /package.json,/frontend/package.json
Dependency Hierarchy:
Found in base branch: master
Vulnerability Details
fsevents before 1.2.11 depends on the https://fsevents-binaries.s3-us-west-2.amazonaws.com URL, which might allow an adversary to execute arbitrary code if any JavaScript project (that depends on fsevents) distributes code that was obtained from that URL at a time when it was controlled by an adversary. NOTE: some sources feel that this means that no version is affected any longer, because the URL is not controlled by an adversary.
Publish Date: 2023-10-06
URL: CVE-2023-45311
CVSS 3 Score Details (9.8)
Base Score Metrics:
Suggested Fix
Type: Upgrade version
Origin: https://www.cve.org/CVERecord?id=CVE-2023-45311
Release Date: 2023-10-06
Fix Resolution (fsevents): 1.2.11
Direct dependency fix Resolution (react-scripts): 3.0.0
Step up your Open Source Security Game with Mend here
Vulnerable Library - ip-1.1.5.tgz
[](https://www.npmjs.com/package/ip)
Library home page: https://registry.npmjs.org/ip/-/ip-1.1.5.tgz
Dependency Hierarchy:
Found in base branch: master
Vulnerability Details
The ip package before 1.1.9 for Node.js might allow SSRF because some IP addresses (such as 0x7f.1) are improperly categorized as globally routable via isPublic.
Publish Date: 2024-02-08
URL: CVE-2023-42282
CVSS 3 Score Details (9.8)
Base Score Metrics:
Suggested Fix
Type: Upgrade version
Origin: GHSA-78xj-cgh5-2h22
Release Date: 2024-02-08
Fix Resolution (ip): 1.1.9
Direct dependency fix Resolution (react-scripts): 3.0.0
Step up your Open Source Security Game with Mend here
Vulnerable Libraries - loader-utils-1.2.3.tgz, loader-utils-1.4.0.tgz
loader-utils-1.2.3.tgz
utils for webpack loaders
Library home page: https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz
Path to dependency file: /package.json
Path to vulnerable library: /node_modules/styled-jsx/node_modules/loader-utils/package.json,/frontend/node_modules/@material-tailwind/react/node_modules/loader-utils/package.json,/frontend/node_modules/react-dev-utils/node_modules/loader-utils/package.json,/node_modules/react-dev-utils/node_modules/loader-utils/package.json
Dependency Hierarchy:
loader-utils-1.4.0.tgz
utils for webpack loaders
Library home page: https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz
Path to dependency file: /frontend/package.json
Path to vulnerable library: /frontend/node_modules/eslint-loader/node_modules/loader-utils/package.json,/node_modules/style-loader/node_modules/loader-utils/package.json,/frontend/node_modules/sass-loader/node_modules/loader-utils/package.json,/frontend/node_modules/@svgr/webpack/node_modules/loader-utils/package.json,/frontend/node_modules/babel-loader/node_modules/loader-utils/package.json,/node_modules/eslint-loader/node_modules/loader-utils/package.json,/node_modules/postcss-loader/node_modules/loader-utils/package.json,/frontend/node_modules/postcss-loader/node_modules/loader-utils/package.json,/node_modules/react-scripts/node_modules/loader-utils/package.json,/node_modules/babel-loader/node_modules/loader-utils/package.json,/frontend/node_modules/webpack/node_modules/loader-utils/package.json,/node_modules/html-webpack-plugin/node_modules/loader-utils/package.json,/frontend/node_modules/react-scripts/node_modules/loader-utils/package.json,/frontend/node_modules/mini-css-extract-plugin/node_modules/loader-utils/package.json,/node_modules/sass-loader/node_modules/loader-utils/package.json,/node_modules/css-loader/node_modules/loader-utils/package.json,/frontend/node_modules/style-loader/node_modules/loader-utils/package.json,/frontend/node_modules/html-webpack-plugin/node_modules/loader-utils/package.json,/node_modules/mini-css-extract-plugin/node_modules/loader-utils/package.json,/node_modules/@svgr/webpack/node_modules/loader-utils/package.json,/node_modules/webpack/node_modules/loader-utils/package.json,/frontend/node_modules/css-loader/node_modules/loader-utils/package.json
Dependency Hierarchy:
Found in base branch: master
Vulnerability Details
Prototype pollution vulnerability in function parseQuery in parseQuery.js in webpack loader-utils 2.0.0 via the name variable in parseQuery.js.
Publish Date: 2022-10-12
URL: CVE-2022-37601
CVSS 3 Score Details (9.8)
Base Score Metrics:
Suggested Fix
Type: Upgrade version
Origin: GHSA-76p3-8jx3-jpfq
Release Date: 2022-10-12
Fix Resolution (loader-utils): 1.4.1
Direct dependency fix Resolution (react-scripts): 4.0.0
Fix Resolution (loader-utils): 1.4.1
Direct dependency fix Resolution (react-scripts): 4.0.0
Step up your Open Source Security Game with Mend here
Vulnerable Library - uglify-js-3.4.10.tgz
JavaScript parser, mangler/compressor and beautifier toolkit
Library home page: https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.10.tgz
Path to dependency file: /package.json
Path to vulnerable library: /node_modules/uglify-js/package.json,/frontend/node_modules/uglify-js/package.json
Dependency Hierarchy:
Found in base branch: master
Vulnerability Details
** DISPUTED ** Prototype pollution vulnerability in function DEFNODE in ast.js in mishoo UglifyJS 3.13.2 via the name variable in ast.js. NOTE: the vendor considers this an invalid report.
Publish Date: 2022-10-20
URL: CVE-2022-37598
CVSS 3 Score Details (9.8)
Base Score Metrics:
Suggested Fix
Type: Upgrade version
Release Date: 2022-10-20
Fix Resolution (uglify-js): 3.13.10
Direct dependency fix Resolution (react-scripts): 3.3.1
Step up your Open Source Security Game with Mend here
Vulnerable Library - url-parse-1.5.3.tgz
Small footprint URL parser that works seamlessly across Node.js and browser environments
Library home page: https://registry.npmjs.org/url-parse/-/url-parse-1.5.3.tgz
Path to dependency file: /package.json
Path to vulnerable library: /node_modules/url-parse/package.json,/frontend/node_modules/url-parse/package.json
Dependency Hierarchy:
Found in base branch: master
Vulnerability Details
Authorization Bypass Through User-Controlled Key in NPM url-parse prior to 1.5.9.
Publish Date: 2022-02-21
URL: CVE-2022-0691
CVSS 3 Score Details (9.8)
Base Score Metrics:
Suggested Fix
Type: Upgrade version
Origin: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-0691
Release Date: 2022-02-21
Fix Resolution (url-parse): 1.5.9
Direct dependency fix Resolution (react-scripts): 3.0.0
Step up your Open Source Security Game with Mend here
Vulnerable Libraries - minimist-0.0.8.tgz, minimist-1.2.0.tgz
minimist-0.0.8.tgz
parse argument options
Library home page: https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz
Path to dependency file: /frontend/package.json
Path to vulnerable library: /frontend/package.json,/package.json
Dependency Hierarchy:
minimist-1.2.0.tgz
parse argument options
Library home page: https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz
Path to dependency file: /package.json
Path to vulnerable library: /package.json,/frontend/package.json
Dependency Hierarchy:
Found in base branch: master
Vulnerability Details
Minimist <=1.2.5 is vulnerable to Prototype Pollution via file index.js, function setKey() (lines 69-95).
Publish Date: 2022-03-17
URL: CVE-2021-44906
CVSS 3 Score Details (9.8)
Base Score Metrics:
Suggested Fix
Type: Upgrade version
Origin: GHSA-xvch-5gv4-984h
Release Date: 2022-03-17
Fix Resolution (minimist): 0.2.4
Direct dependency fix Resolution (react-scripts): 3.0.0
Fix Resolution (minimist): 0.2.4
Direct dependency fix Resolution (react-scripts): 3.0.0
Step up your Open Source Security Game with Mend here
Vulnerable Library - shell-quote-1.6.1.tgz
quote and parse shell commands
Library home page: https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz
Path to dependency file: /frontend/package.json
Path to vulnerable library: /frontend/node_modules/shell-quote/package.json,/node_modules/react-dev-utils/node_modules/shell-quote/package.json
Dependency Hierarchy:
Found in base branch: master
Vulnerability Details
The shell-quote package before 1.7.3 for Node.js allows command injection. An attacker can inject unescaped shell metacharacters through a regex designed to support Windows drive letters. If the output of this package is passed to a real shell as a quoted argument to a command with exec(), an attacker can inject arbitrary commands. This is because the Windows drive letter regex character class is {A-z] instead of the correct {A-Za-z]. Several shell metacharacters exist in the space between capital letter Z and lower case letter a, such as the backtick character.
Publish Date: 2021-10-21
URL: CVE-2021-42740
CVSS 3 Score Details (9.8)
Base Score Metrics:
Suggested Fix
Type: Upgrade version
Origin: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-42740
Release Date: 2021-10-21
Fix Resolution (shell-quote): 1.7.3
Direct dependency fix Resolution (react-scripts): 5.0.0
Step up your Open Source Security Game with Mend here
Vulnerable Library - immer-1.10.0.tgz
Create your next immutable state by mutating the current one
Library home page: https://registry.npmjs.org/immer/-/immer-1.10.0.tgz
Path to dependency file: /package.json
Path to vulnerable library: /node_modules/immer/package.json,/frontend/node_modules/immer/package.json
Dependency Hierarchy:
Found in base branch: master
Vulnerability Details
immer is vulnerable to Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution')
Publish Date: 2021-09-02
URL: CVE-2021-3757
CVSS 3 Score Details (9.8)
Base Score Metrics:
Suggested Fix
Type: Upgrade version
Origin: https://huntr.dev/bounties/23d38099-71cd-42ed-a77a-71e68094adfa/
Release Date: 2021-09-02
Fix Resolution (immer): 9.0.6
Direct dependency fix Resolution (react-scripts): 5.0.0
Step up your Open Source Security Game with Mend here
Vulnerable Library - immer-1.10.0.tgz
Create your next immutable state by mutating the current one
Library home page: https://registry.npmjs.org/immer/-/immer-1.10.0.tgz
Path to dependency file: /package.json
Path to vulnerable library: /node_modules/immer/package.json,/frontend/node_modules/immer/package.json
Dependency Hierarchy:
Found in base branch: master
Vulnerability Details
This affects the package immer before 9.0.6. A type confusion vulnerability can lead to a bypass of CVE-2020-28477 when the user-provided keys used in the path parameter are arrays. In particular, this bypass is possible because the condition (p === "proto" || p === "constructor") in applyPatches_ returns false if p is ['proto'] (or ['constructor']). The === operator (strict equality operator) returns false if the operands have different type.
Publish Date: 2021-09-01
URL: CVE-2021-23436
CVSS 3 Score Details (9.8)
Base Score Metrics:
Suggested Fix
Type: Upgrade version
Origin: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-23436
Release Date: 2021-09-01
Fix Resolution (immer): 9.0.6
Direct dependency fix Resolution (react-scripts): 5.0.0
Step up your Open Source Security Game with Mend here
Vulnerable Library - ini-1.3.5.tgz
An ini encoder/decoder for node
Library home page: https://registry.npmjs.org/ini/-/ini-1.3.5.tgz
Path to dependency file: /frontend/package.json
Path to vulnerable library: /frontend/package.json,/package.json
Dependency Hierarchy:
Found in base branch: master
Vulnerability Details
This affects the package ini before 1.3.6. If an attacker submits a malicious INI file to an application that parses it with ini.parse, they will pollute the prototype on the application. This can be exploited further depending on the context.
Publish Date: 2020-12-11
URL: CVE-2020-7788
CVSS 3 Score Details (9.8)
Base Score Metrics:
Suggested Fix
Type: Upgrade version
Origin: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-7788
Release Date: 2020-12-11
Fix Resolution (ini): 1.3.6
Direct dependency fix Resolution (react-scripts): 3.0.0
Step up your Open Source Security Game with Mend here
Vulnerable Library - merge-1.2.1.tgz
Merge multiple objects into one, optionally creating a new cloned object. Similar to the jQuery.extend but more flexible. Works in Node.js and the browser.
Library home page: https://registry.npmjs.org/merge/-/merge-1.2.1.tgz
Path to dependency file: /package.json
Path to vulnerable library: /node_modules/merge/package.json,/frontend/node_modules/merge/package.json
Dependency Hierarchy:
Found in base branch: master
Vulnerability Details
All versions of package merge are vulnerable to Prototype Pollution via _recursiveMerge .
Publish Date: 2021-02-18
URL: CVE-2020-28499
CVSS 3 Score Details (9.8)
Base Score Metrics:
Suggested Fix
Type: Upgrade version
Release Date: 2021-02-18
Fix Resolution (merge): 2.1.0
Direct dependency fix Resolution (react-scripts): 3.0.0
Step up your Open Source Security Game with Mend here
Vulnerable Library - url-parse-1.5.3.tgz
Small footprint URL parser that works seamlessly across Node.js and browser environments
Library home page: https://registry.npmjs.org/url-parse/-/url-parse-1.5.3.tgz
Path to dependency file: /package.json
Path to vulnerable library: /node_modules/url-parse/package.json,/frontend/node_modules/url-parse/package.json
Dependency Hierarchy:
Found in base branch: master
Vulnerability Details
Authorization Bypass Through User-Controlled Key in NPM url-parse prior to 1.5.8.
Publish Date: 2022-02-20
URL: CVE-2022-0686
CVSS 3 Score Details (9.1)
Base Score Metrics:
Suggested Fix
Type: Upgrade version
Origin: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-0686
Release Date: 2022-02-20
Fix Resolution (url-parse): 1.5.8
Direct dependency fix Resolution (react-scripts): 3.0.0
Step up your Open Source Security Game with Mend here
Vulnerable Library - babel-traverse-6.26.0.tgz
The Babel Traverse module maintains the overall tree state, and is responsible for replacing, removing, and adding nodes
Library home page: https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz
Path to dependency file: /package.json
Path to vulnerable library: /node_modules/babel-traverse/package.json,/frontend/node_modules/babel-traverse/package.json
Dependency Hierarchy:
Found in base branch: master
Vulnerability Details
Babel is a compiler for writingJavaScript. In
@babel/traverse
prior to versions 7.23.2 and 8.0.0-alpha.4 and all versions ofbabel-traverse
, using Babel to compile code that was specifically crafted by an attacker can lead to arbitrary code execution during compilation, when using plugins that rely on thepath.evaluate()
orpath.evaluateTruthy()
internal Babel methods. Known affected plugins are@babel/plugin-transform-runtime
;@babel/preset-env
when using itsuseBuiltIns
option; and any "polyfill provider" plugin that depends on@babel/helper-define-polyfill-provider
, such asbabel-plugin-polyfill-corejs3
,babel-plugin-polyfill-corejs2
,babel-plugin-polyfill-es-shims
,babel-plugin-polyfill-regenerator
. No other plugins under the@babel/
namespace are impacted, but third-party plugins might be. Users that only compile trusted code are not impacted. The vulnerability has been fixed in@babel/traverse@7.23.2
and@babel/traverse@8.0.0-alpha.4
. Those who cannot upgrade@babel/traverse
and are using one of the affected packages mentioned above should upgrade them to their latest version to avoid triggering the vulnerable code path in affected@babel/traverse
versions:@babel/plugin-transform-runtime
v7.23.2,@babel/preset-env
v7.23.2,@babel/helper-define-polyfill-provider
v0.4.3,babel-plugin-polyfill-corejs2
v0.4.6,babel-plugin-polyfill-corejs3
v0.8.5,babel-plugin-polyfill-es-shims
v0.10.0,babel-plugin-polyfill-regenerator
v0.5.3.Publish Date: 2023-10-12
URL: CVE-2023-45133
CVSS 3 Score Details (8.8)
Base Score Metrics:
Suggested Fix
Type: Upgrade version
Origin: GHSA-67hx-6x53-jw92
Release Date: 2023-10-12
Fix Resolution: @babel/traverse - 7.23.2
Step up your Open Source Security Game with Mend here
Vulnerable Libraries - json5-2.2.0.tgz, json5-0.5.1.tgz, json5-1.0.1.tgz
json5-2.2.0.tgz
JSON for humans.
Library home page: https://registry.npmjs.org/json5/-/json5-2.2.0.tgz
Path to dependency file: /frontend/package.json
Path to vulnerable library: /frontend/node_modules/json5/package.json,/node_modules/json5/package.json
Dependency Hierarchy:
json5-0.5.1.tgz
JSON for the ES5 era.
Library home page: https://registry.npmjs.org/json5/-/json5-0.5.1.tgz
Path to dependency file: /package.json
Path to vulnerable library: /node_modules/jest-config/node_modules/json5/package.json,/frontend/node_modules/jest-runtime/node_modules/json5/package.json,/node_modules/babel-register/node_modules/json5/package.json,/node_modules/jest-runtime/node_modules/json5/package.json,/frontend/node_modules/jest-config/node_modules/json5/package.json,/frontend/node_modules/babel-register/node_modules/json5/package.json
Dependency Hierarchy:
json5-1.0.1.tgz
JSON for humans.
Library home page: https://registry.npmjs.org/json5/-/json5-1.0.1.tgz
Path to dependency file: /frontend/package.json
Path to vulnerable library: /frontend/node_modules/react-dev-utils/node_modules/json5/package.json,/node_modules/postcss-loader/node_modules/json5/package.json,/frontend/node_modules/sass-loader/node_modules/json5/package.json,/node_modules/react-dev-utils/node_modules/json5/package.json,/node_modules/babel-loader/node_modules/json5/package.json,/node_modules/react-scripts/node_modules/loader-utils/node_modules/json5/package.json,/frontend/node_modules/css-loader/node_modules/json5/package.json,/node_modules/eslint-loader/node_modules/json5/package.json,/frontend/node_modules/babel-loader/node_modules/json5/package.json,/frontend/node_modules/mini-css-extract-plugin/node_modules/json5/package.json,/node_modules/webpack/node_modules/json5/package.json,/frontend/node_modules/webpack/node_modules/json5/package.json,/frontend/node_modules/eslint-loader/node_modules/json5/package.json,/frontend/node_modules/html-webpack-plugin/node_modules/json5/package.json,/node_modules/@svgr/webpack/node_modules/json5/package.json,/frontend/node_modules/@material-tailwind/react/node_modules/json5/package.json,/frontend/node_modules/style-loader/node_modules/json5/package.json,/node_modules/mini-css-extract-plugin/node_modules/json5/package.json,/frontend/node_modules/@svgr/webpack/node_modules/json5/package.json,/node_modules/css-loader/node_modules/json5/package.json,/node_modules/html-webpack-plugin/node_modules/json5/package.json,/node_modules/style-loader/node_modules/json5/package.json,/frontend/node_modules/react-scripts/node_modules/loader-utils/node_modules/json5/package.json,/node_modules/styled-jsx/node_modules/json5/package.json,/frontend/node_modules/postcss-loader/node_modules/json5/package.json,/node_modules/parcel-bundler/node_modules/json5/package.json,/node_modules/sass-loader/node_modules/json5/package.json
Dependency Hierarchy:
Found in base branch: master
Vulnerability Details
JSON5 is an extension to the popular JSON file format that aims to be easier to write and maintain by hand (e.g. for config files). The
parse
method of the JSON5 library before and including versions 1.0.1 and 2.2.1 does not restrict parsing of keys named__proto__
, allowing specially crafted strings to pollute the prototype of the resulting object. This vulnerability pollutes the prototype of the object returned byJSON5.parse
and not the global Object prototype, which is the commonly understood definition of Prototype Pollution. However, polluting the prototype of a single object can have significant security impact for an application if the object is later used in trusted operations. This vulnerability could allow an attacker to set arbitrary and unexpected keys on the object returned fromJSON5.parse
. The actual impact will depend on how applications utilize the returned object and how they filter unwanted keys, but could include denial of service, cross-site scripting, elevation of privilege, and in extreme cases, remote code execution.JSON5.parse
should restrict parsing of__proto__
keys when parsing JSON strings to objects. As a point of reference, theJSON.parse
method included in JavaScript ignores__proto__
keys. Simply changingJSON5.parse
toJSON.parse
in the examples above mitigates this vulnerability. This vulnerability is patched in json5 versions 1.0.2, 2.2.2, and later.Publish Date: 2022-12-24
URL: CVE-2022-46175
CVSS 3 Score Details (8.8)
Base Score Metrics:
Suggested Fix
Type: Upgrade version
Origin: https://www.cve.org/CVERecord?id=CVE-2022-46175
Release Date: 2022-12-24
Fix Resolution (json5): 2.2.2
Direct dependency fix Resolution (react-scripts): 3.0.0
Fix Resolution (json5): 2.2.2
Direct dependency fix Resolution (react-scripts): 3.0.0
Fix Resolution (json5): 2.2.2
Direct dependency fix Resolution (react-scripts): 3.0.0
Step up your Open Source Security Game with Mend here
Vulnerable Library - tar-4.4.1.tgz
tar for node
Library home page: https://registry.npmjs.org/tar/-/tar-4.4.1.tgz
Path to dependency file: /frontend/package.json
Path to vulnerable library: /frontend/package.json,/package.json
Dependency Hierarchy:
Found in base branch: master
Vulnerability Details
The npm package "tar" (aka node-tar) before versions 4.4.18, 5.0.10, and 6.1.9 has an arbitrary file creation/overwrite and arbitrary code execution vulnerability. node-tar aims to guarantee that any file whose location would be outside of the extraction target directory is not extracted. This is, in part, accomplished by sanitizing absolute paths of entries within the archive, skipping archive entries that contain
..
path portions, and resolving the sanitized paths against the extraction target directory. This logic was insufficient on Windows systems when extracting tar files that contained a path that was not an absolute path, but specified a drive letter different from the extraction target, such asC:some\path
. If the drive letter does not match the extraction target, for exampleD:\extraction\dir
, then the result ofpath.resolve(extractionDirectory, entryPath)
would resolve against the current working directory on theC:
drive, rather than the extraction target directory. Additionally, a..
portion of the path could occur immediately after the drive letter, such asC:../foo
, and was not properly sanitized by the logic that checked for..
within the normalized and split portions of the path. This only affects users ofnode-tar
on Windows systems. These issues were addressed in releases 4.4.18, 5.0.10 and 6.1.9. The v3 branch of node-tar has been deprecated and did not receive patches for these issues. If you are still using a v3 release we recommend you update to a more recent version of node-tar. There is no reasonable way to work around this issue without performing the same path normalization procedures that node-tar now does. Users are encouraged to upgrade to the latest patched versions of node-tar, rather than attempt to sanitize paths themselves.Publish Date: 2021-08-31
URL: CVE-2021-37713
CVSS 3 Score Details (8.6)
Base Score Metrics:
Suggested Fix
Type: Upgrade version
Origin: GHSA-5955-9wpr-37jh
Release Date: 2021-08-31
Fix Resolution (tar): 4.4.18
Direct dependency fix Resolution (react-scripts): 3.0.0
Step up your Open Source Security Game with Mend here
Vulnerable Library - tar-4.4.1.tgz
tar for node
Library home page: https://registry.npmjs.org/tar/-/tar-4.4.1.tgz
Path to dependency file: /frontend/package.json
Path to vulnerable library: /frontend/package.json,/package.json
Dependency Hierarchy:
Found in base branch: master
Vulnerability Details
The npm package "tar" (aka node-tar) before versions 4.4.18, 5.0.10, and 6.1.9 has an arbitrary file creation/overwrite and arbitrary code execution vulnerability. node-tar aims to guarantee that any file whose location would be modified by a symbolic link is not extracted. This is, in part, achieved by ensuring that extracted directories are not symlinks. Additionally, in order to prevent unnecessary stat calls to determine whether a given path is a directory, paths are cached when directories are created. This logic was insufficient when extracting tar files that contained both a directory and a symlink with names containing unicode values that normalized to the same value. Additionally, on Windows systems, long path portions would resolve to the same file system entities as their 8.3 "short path" counterparts. A specially crafted tar archive could thus include a directory with one form of the path, followed by a symbolic link with a different string that resolves to the same file system entity, followed by a file using the first form. By first creating a directory, and then replacing that directory with a symlink that had a different apparent name that resolved to the same entry in the filesystem, it was thus possible to bypass node-tar symlink checks on directories, essentially allowing an untrusted tar file to symlink into an arbitrary location and subsequently extracting arbitrary files into that location, thus allowing arbitrary file creation and overwrite. These issues were addressed in releases 4.4.18, 5.0.10 and 6.1.9. The v3 branch of node-tar has been deprecated and did not receive patches for these issues. If you are still using a v3 release we recommend you update to a more recent version of node-tar. If this is not possible, a workaround is available in the referenced GHSA-qq89-hq3f-393p.
Publish Date: 2021-08-31
URL: CVE-2021-37712
CVSS 3 Score Details (8.6)
Base Score Metrics:
Suggested Fix
Type: Upgrade version
Origin: GHSA-qq89-hq3f-393p
Release Date: 2021-08-31
Fix Resolution (tar): 4.4.18
Direct dependency fix Resolution (react-scripts): 3.0.0
Step up your Open Source Security Game with Mend here
The text was updated successfully, but these errors were encountered: