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 - Low Severity Vulnerability
Vulnerable Libraries - node-fetch-1.7.3.tgz, node-fetch-2.1.2.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: /net-emissions-token-network/package.json
Path to vulnerable library: /net-emissions-token-network/package.json
Dependency Hierarchy: - plugins-0.0.16.tgz (Root Library) - contracts-0.0.2-alpha.14.tgz - ganache-core-2.13.1.tgz - web3-provider-engine-14.2.1.tgz - eth-json-rpc-infura-3.2.1.tgz - eth-json-rpc-middleware-1.6.0.tgz - fetch-ponyfill-4.1.0.tgz - :x: **node-fetch-1.7.3.tgz** (Vulnerable Library)
node-fetch-2.1.2.tgz
A light-weight module that brings window.fetch to node.js
Library home page: https://registry.npmjs.org/node-fetch/-/node-fetch-2.1.2.tgz
Path to dependency file: /net-emissions-token-network/package.json
Path to vulnerable library: /net-emissions-token-network/package.json
Dependency Hierarchy: - plugins-0.0.16.tgz (Root Library) - contracts-0.0.2-alpha.14.tgz - ganache-core-2.13.1.tgz - web3-provider-engine-14.2.1.tgz - cross-fetch-2.2.3.tgz - :x: **node-fetch-2.1.2.tgz** (Vulnerable Library)
Found in HEAD commit: d388e16464e00b9ce84df0d247029f534a429b90
Found in base branch: main
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 (2.6)
Base Score Metrics: - Exploitability Metrics: - Attack Vector: Network - Attack Complexity: High - Privileges Required: Low - User Interaction: Required - 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-09-17
Fix Resolution: 2.6.1,3.0.0-beta.9
Step up your Open Source Security Game with Mend here