NIST deprecates RSA-2048 from 2030. Find every one of them before attackers do.
📦
📦 npm
Not in CISA KEV
MEDIUM severity

CVE-2020-15168 — node-fetch

MEDIUMFix: node-fetch/node-fetch@2358a6c

CVE-2020-15168 is a medium-severity (CVSS 5.3) Improper Input Validation vulnerability in node-fetch. A fix is available for node-fetch — see the affected versions and patch details below.

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

Also known asGHSA-w7rc-rwvf-8q5r
Published
Updated
Affected
2 pkgs
Patched
2 / 2
Exploits
None indexed
Exploitation data as of Nov 2, 2026 · OSV.dev, NVD, FIRST.org (EPSS)

EPSS Exploitation Probability

via FIRST.org ↗
1.7%probability of exploitation in next 30 days
Lower Risk0.00%
Lower risk than most CVEs77th percentile — riskier than 77% of all scored CVEsHighest risk
0.00%0.73%1.46%2.19%0.1%1.7%May 26Sep 26Nov 26

Probability of exploitation in the next 30 days, from FIRST.org EPSS.

How urgent is this, really

Where this sits among everything scored

Real-World Exposure

2 pkgs affected

How broadly this vulnerability is actually deployed: weekly install volume shows current usage, and reverse-dependency count shows how many other packages break if it stays unpatched.

45Kother npm packages depend on this — each one inherits the vulnerability until it's patched upstream
node-fetchnpm
273.6Mdownloads / week

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.

Affected Packages

2 total 2 fixed
EcosystemPackageVulnerable rangeFix
📦npmnode-fetch≥ 2.0.0&&< 2.6.12.6.1npm install node-fetch@2.6.1
📦npmnode-fetch≥ 3.0.0-beta.1&&< 3.0.0-beta.93.0.0-beta.9npm install node-fetch@3.0.0-beta.9

Affected Products

1 product · 6 configurations
Application
node-fetchnode-fetch_project
< 2.6.1
1 version
3.0.0

Detection & mitigation playbook

Open-source dependency
  1. Detect

    Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for node-fetch, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.

  2. Fix

    Update node-fetch to 2.6.1 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms CVE-2020-15168 is resolved across your whole dependency graph.

  3. Workarounds

    Cap what an attacker can consume: apply request size, rate and timeout limits in front of the affected component, and run it with memory and CPU limits so exhaustion degrades one worker rather than the whole service.

Frequently Asked Questions

### 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
O3 Security · Impact-Aware SCA

Is CVE-2020-15168 in your dependencies?

Find it across npm, including transitive dependencies.

CVE-2020-15168: node-fetch DoS — Fixed in 2.6.1