Skip to content

The `size` option isn't honored after following a redirect in node-fetch

Low severity GitHub Reviewed Published Sep 9, 2020 in node-fetch/node-fetch • Updated Apr 21, 2023

Package

npm node-fetch (npm)

Affected versions

< 2.6.1
>= 3.0.0-beta.1, <= 3.0.0-beta.8

Patched versions

2.6.1
3.0.0-beta.9

Description

Impact

Node Fetch 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.

Patches

We released patched versions for both stable and beta channels:

  • For v2: 2.6.1
  • For v3: 3.0.0-beta.9

Workarounds

None, it is strongly recommended to update as soon as possible.

For more information

If you have any questions or comments about this advisory:

  • Open an issue in node-fetch
  • Contact one of the core maintainers.

References

@xxczaki xxczaki published to node-fetch/node-fetch Sep 9, 2020
Reviewed Sep 10, 2020
Published to the GitHub Advisory Database Sep 10, 2020
Last updated Apr 21, 2023

Severity

Low
2.6
/ 10

CVSS base metrics

Attack vector
Network
Attack complexity
High
Privileges required
Low
User interaction
Required
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
Low
CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:N/I:N/A:L

CVE ID

CVE-2020-15168

GHSA ID

GHSA-w7rc-rwvf-8q5r

Source code

Credits

Checking history
See something to contribute? Suggest improvements for this vulnerability.