Path to dependency file: shipengine-request/package.json
Path to vulnerable library: shipengine-request/node_modules/node-fetch/package.json,shipengine-request/node_modules/cross-fetch/node_modules/node-fetch/package.json
node-fetch before versions 2.6.1 and 3.0.0-beta.9 did not honor the size option after following a redirect, which means that when a content size was over the limit, a FetchError would never get thrown and the process would end without failure. For most people, this fix will have a little or no impact. However, if you are relying on node-fetch to gate files above a size, the impact could be significant, for example: If you don't double-check the size of the data after fetch() has completed, your JS thread could get tied up doing work on a large file (DoS) and/or cost you money in computing.
CVE-2020-15168 - Medium Severity Vulnerability
Vulnerable Libraries - node-fetch-1.7.3.tgz, node-fetch-2.6.0.tgz
node-fetch-1.7.3.tgz
A light-weight module that brings window.fetch to node.js and io.js
Library home page: https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz
Path to dependency file: shipengine-request/package.json
Path to vulnerable library: shipengine-request/node_modules/fetch-everywhere/node_modules/node-fetch/package.json
Dependency Hierarchy: - fetch-everywhere-1.0.5.tgz (Root Library) - :x: **node-fetch-1.7.3.tgz** (Vulnerable Library)
node-fetch-2.6.0.tgz
A light-weight module that brings window.fetch to node.js
Library home page: https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz
Path to dependency file: shipengine-request/package.json
Path to vulnerable library: shipengine-request/node_modules/node-fetch/package.json,shipengine-request/node_modules/cross-fetch/node_modules/node-fetch/package.json
Dependency Hierarchy: - cross-fetch-3.0.3.tgz (Root Library) - :x: **node-fetch-2.6.0.tgz** (Vulnerable Library)
Found in HEAD commit: 350d7c1be639b551fedbffd091221f7c529e6bd7
Vulnerability Details
node-fetch before versions 2.6.1 and 3.0.0-beta.9 did not honor the size option after following a redirect, which means that when a content size was over the limit, a FetchError would never get thrown and the process would end without failure. For most people, this fix will have a little or no impact. However, if you are relying on node-fetch to gate files above a size, the impact could be significant, for example: If you don't double-check the size of the data after fetch() has completed, your JS thread could get tied up doing work on a large file (DoS) and/or cost you money in computing.
Publish Date: 2020-09-10
URL: CVE-2020-15168
CVSS 3 Score Details (5.3)
Base Score Metrics: - Exploitability Metrics: - Attack Vector: Network - Attack Complexity: Low - Privileges Required: None - User Interaction: None - Scope: Unchanged - Impact Metrics: - Confidentiality Impact: None - Integrity Impact: None - Availability Impact: Low
For more information on CVSS3 Scores, click here.Suggested Fix
Type: Upgrade version
Origin: https://github.com/node-fetch/node-fetch/security/advisories/GHSA-w7rc-rwvf-8q5r
Release Date: 2020-07-21
Fix Resolution: 2.6.1,3.0.0-beta.9
Step up your Open Source Security Game with WhiteSource here