Denial of Service

2020-09-10T17:55:53
ID NODEJS:1556
Type nodejs
Reporter Unknown
Modified 2020-09-10T17:55:53

Description

Overview

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.

Recommendation

Upgrade to version 2.6.1 or 3.0.0-beta.9

References

  • https://github.com/node-fetch/node-fetch/security/advisories/GHSA-w7rc-rwvf-8q5r