CVE-2020-15168
File size limit bypass in node-fetch
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- High
- Privileges needed
- Low
- User interaction
- Required
What an attacker can affect
- Confidentiality
- None
- Integrity
- None
- Availability
- Low
Exploit likelihood
What each source reports
CVE List Score used
2.6
File size limit bypass in node-fetch
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.
- Record
CVE-2020-15168- CVSS 3.1
- 2.6 Low
CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:N/I:N/A:L - Weakness
- CWE-20, CWE-770
- Updated
- 2026-11-02
EUVDEUVD-2020-1335
2.6
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.
- Record
EUVD-2020-1335- CVSS 3.1
- 2.6 Low
CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:N/I:N/A:L - Updated
- 2026-11-03
GitHub AdvisoriesGHSA-w7rc-rwvf-8q5r
2.6
The `size` option isn't honored after following a redirect in node-fetch
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.
- Record
GHSA-w7rc-rwvf-8q5r- CVSS 3.1
- 2.6 Low
CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:N/I:N/A:L - Weakness
- CWE-20, CWE-770
- Updated
- 2026-11-02
NVD
2.6
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.
- Record
CVE-2020-15168- CVSS 3.1
- 2.6 Low
CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:N/I:N/A:L - CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L - CVSS 2.0
- 5.0 Medium
AV:N/AC:L/Au:N/C:N/I:N/A:P - Weakness
- CWE-20, CWE-770
- Updated
- 2026-11-02
OSV
5.3
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.
- Record
CVE-2020-15168- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L - Updated
- 2026-11-02
OSVDEBIAN-CVE-2020-15168
5.3
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.
- Record
DEBIAN-CVE-2020-15168- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L - Updated
- 2026-11-02
Show 5 moreShow less
OSVGHSA-w7rc-rwvf-8q5r
2.6
The `size` option isn't honored after following a redirect in node-fetch
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.
- Record
GHSA-w7rc-rwvf-8q5r- CVSS 3.1
- 2.6 Low
CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:N/I:N/A:L - Weakness
- CWE-20, CWE-770
- Updated
- 2026-11-02
OSVUBUNTU-CVE-2020-15168
2.6
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.
- Record
UBUNTU-CVE-2020-15168- CVSS 3.1
- 2.6 Low
CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:N/I:N/A:L - CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L - Updated
- 2026-11-02
OSVCLSA-2026-1792449835 No score
TuxCare security update for node-fetch (2 CVEs)
TuxCare rebuilt node-fetch to address 2 CVEs. Fixed in 2.6.0-tuxcare.1.
- Record
CLSA-2026-1792449835- Updated
- 2026-11-02
OSVCLSA-2026-1793203551 No score
TuxCare security update for node-fetch (2 CVEs)
TuxCare rebuilt node-fetch to address 2 CVEs. Fixed in 2.1.2-tuxcare.1.
- Record
CLSA-2026-1793203551- Updated
- 2026-11-02
OSVSUSE-SU-2020:3235-1 No score
Security update for SUSE Manager Server 4.1
This update fixes the following issues:
bind-formula:
- Temporarily disable dnssec-validation as hotfix for bsc#1177790
grafana-formula:
- Use variable for product name
- Add HA/SAP dashboards
- Add support for system groups in Client Systems dashboard
image-sync-formula:
- Do not use .gz suffix for default initrd symlink
- Keep the old symlink 'initrd.gz' for compatibility
prometheus-exporters-formula:
- Fix empty directory values initialization
- Add systemd collector as default for node_exporters since otherwise some SAP/HA grafana dashboards will be empty
- Disable reverse proxy on default
prometheus-formula:
- Disable Alertmanager clustering (bsc#1178145)
- Use variable for product name
pxe-formula:
- Change default to 'initrd' without .gz suffix
py26-compat-salt:
- Properly validate eauth credentials and tokens on SSH calls made by Salt API (bsc#1178319, bsc#1178362, bsc#1178361, CVE-2020-25592, CVE-2020-17490, CVE-2020-16846)
python-susemanager-retail:
- Use name 'initrd' without .gz suffix
salt-netapi-client:
- Version 0.18.0 See: https://github.com/SUSE/salt-netapi-client/releases/tag/v0.18.0
saltboot-formula:
- Allow setting terminal kernel parameters in saltboot formula
spacecmd:
- Python3 fixes for errata in spacecmd (bsc#1169664)
- Added support for i18n of user-facing strings
- Python3 fix for sorted usage (bsc#1167907)
spacewalk-admin:
- Show info message when applying schema upgrade
spacewalk-backend:
- Prevent IntegrityError during mgr-inter-sync execution (bsc#1177235)
spacewalk-branding:
- Enable to switch to multiple webUI theme
spacewalk-client-tools:
- Remove RH references in Python/Ruby localization and use the product name instead
spacewalk-java:
- Use correct eauth module and credentials for Salt SSH calls (bsc#1178319)
- Remove expiration date from ics files (bsc#1177892)
- Execute Salt SSH actions in parallel (bsc#1173199)
- Enable to switch to multiple webUI theme
- Fix action chain resuming when patches updating salt-minion don't cause service to be restarted (bsc#1144447)
- Renaming autoinstall distro didn't change the name of the Cobbler distro (bsc#1175876)
- Fix the links for downloading the binaries in the package details UI (bsc#1176603)
- Allow nightly ISS sync to also cover custom channels
- Fix: reinspecting a container image (bsc#1177092)
- Add power management xmlrpc api
- Remove hostname from /var/lib/salt/.ssh/known_hosts when deleting system (bsc#1176159)
- Log exception trace on fatal Taskomatic startup error
- Fix max password length check at user creation (bsc#1176765)
- Notify about missing libvirt or hypervisor on virtual host
- Redesign maintenance schedule systems table to use paginated data from server
- Fix SP migration after dry run for cloned channels (bsc#1176307)
- Filter not available optional channels out
spacewalk-search:
- Change default maximum memory to 512 MB, preventing OutOfMemoryError
spacewalk-web:
- Enable to switch to multiple webUI theme
- Only refresh the virtual storage list when pool events are received
- Drop node-fetch to fix CVE-2020-15168
- Notify about missing libvirt or hypervisor on virtual host
- Redesign maintenance schedule systems table to use paginated data from server
susemanager:
- Create bootstrap repo should not flush by default (bsc#1175843)
- Improve detection of base channels for products (bsc#1177478)
- Add LTSS PIDs for SLE12SP1, SLE12SP2, SLE12SP3 and SLE12SP4 to the bootstrap definitions as some packages from LTSS are required (bsc#1177524)
- Fix logrotate config
- Add missing packages to ubuntu20.04 bootstrap data (bsc#1176629)
susemanager-build-keys:
- Replace 'SuSE' user-facing references with 'SUSE'
susemanager-doc-indexes:
- Documented zypper autorefresh feature in Upgrade Guide
- Update SP Migration chapter in Client Configuration Guide
- In Client Configuration and Upgrade Guide, add link to valid autoyast upgrade settings
- Move client upgrade related sections from…
- Record
SUSE-SU-2020:3235-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
node-fetchnpm |
3.0.0-beta.1 to 3.0.0-beta.8 | 3.0.0-beta.9 |
node-fetchnpm |
2.0.0 up to 2.6.1 | 2.6.1 |
node-fetchTuxCare:npm From an advisory covering 2 CVEs |
2.6.0-tuxcare.0 up to 2.6.0-tuxcare.1, plus listed versions 2.6.0 |
2.6.0-tuxcare.1 |
node-fetchTuxCare:npm From an advisory covering 2 CVEs |
2.1.2-tuxcare.0 up to 2.1.2-tuxcare.1, plus listed versions 2.1.2 |
2.1.2-tuxcare.1 |
node-fetchDebian:12 |
before 2.6.1-2 | 2.6.1-2 |
node-fetchDebian:13 |
before 2.6.1-2 | 2.6.1-2 |
node-fetchDebian:14 |
before 2.6.1-2 | 2.6.1-2 |
node-fetchnpm |
3.0.0-beta.1 up to 3.0.0-beta.9 | 3.0.0-beta.9 |
mgr-daemonSUSE:Manager Proxy Module 4.1 From an advisory covering 4 CVEs |
before 4.1.3-2.6.3 | 4.1.3-2.6.3 |
spacecmdSUSE:Manager Proxy Module 4.1 From an advisory covering 4 CVEs |
before 4.1.8-4.9.2 | 4.1.8-4.9.2 |
Show 30 moreShow less
| Package | Affected | Fixed |
|---|---|---|
spacewalk-backendSUSE:Manager Proxy Module 4.1 From an advisory covering 4 CVEs |
before 4.1.16-4.11.5 | 4.1.16-4.11.5 |
spacewalk-client-toolsSUSE:Manager Proxy Module 4.1 From an advisory covering 4 CVEs |
before 4.1.7-4.6.4 | 4.1.7-4.6.4 |
spacewalk-webSUSE:Manager Proxy Module 4.1 From an advisory covering 4 CVEs |
before 4.1.19-3.9.5 | 4.1.19-3.9.5 |
susemanager-build-keysSUSE:Manager Proxy Module 4.1 From an advisory covering 4 CVEs |
before 15.2.2-3.6.3 | 15.2.2-3.6.3 |
bind-formulaSUSE:Manager Server Module 4.1 From an advisory covering 4 CVEs |
before 0.1.1603299886.60e4bcf-3.3.2 | 0.1.1603299886.60e4bcf-3.3.2 |
grafana-formulaSUSE:Manager Server Module 4.1 From an advisory covering 4 CVEs |
before 0.3.0-3.3.2 | 0.3.0-3.3.2 |
image-sync-formulaSUSE:Manager Server Module 4.1 From an advisory covering 4 CVEs |
before 0.1.1602150122.f08af0a-3.6.2 | 0.1.1602150122.f08af0a-3.6.2 |
prometheus-exporters-formulaSUSE:Manager Server Module 4.1 From an advisory covering 4 CVEs |
before 0.8.0-3.16.2 | 0.8.0-3.16.2 |
prometheus-formulaSUSE:Manager Server Module 4.1 From an advisory covering 4 CVEs |
before 0.3.0-3.3.1 | 0.3.0-3.3.1 |
pxe-formulaSUSE:Manager Server Module 4.1 From an advisory covering 4 CVEs |
before 0.1.1602490840.4f32148-3.3.2 | 0.1.1602490840.4f32148-3.3.2 |
py26-compat-saltSUSE:Manager Server Module 4.1 From an advisory covering 4 CVEs |
before 2016.11.10-6.3.3 | 2016.11.10-6.3.3 |
python-susemanager-retailSUSE:Manager Server Module 4.1 From an advisory covering 4 CVEs |
before 1.0.1602150122.f08af0a-3.3.2 | 1.0.1602150122.f08af0a-3.3.2 |
salt-netapi-clientSUSE:Manager Server Module 4.1 From an advisory covering 4 CVEs |
before 0.18.0-15.7.5 | 0.18.0-15.7.5 |
saltboot-formulaSUSE:Manager Server Module 4.1 From an advisory covering 4 CVEs |
before 0.1.1602150122.f08af0a-3.6.2 | 0.1.1602150122.f08af0a-3.6.2 |
spacecmdSUSE:Manager Server Module 4.1 From an advisory covering 4 CVEs |
before 4.1.8-4.9.2 | 4.1.8-4.9.2 |
spacewalk-adminSUSE:Manager Server Module 4.1 From an advisory covering 4 CVEs |
before 4.1.7-3.6.3 | 4.1.7-3.6.3 |
spacewalk-backendSUSE:Manager Server Module 4.1 From an advisory covering 4 CVEs |
before 4.1.16-4.11.5 | 4.1.16-4.11.5 |
spacewalk-brandingSUSE:Manager Server Module 4.1 From an advisory covering 4 CVEs |
before 4.1.11-3.9.6 | 4.1.11-3.9.6 |
spacewalk-client-toolsSUSE:Manager Server Module 4.1 From an advisory covering 4 CVEs |
before 4.1.7-4.6.4 | 4.1.7-4.6.4 |
spacewalk-javaSUSE:Manager Server Module 4.1 From an advisory covering 4 CVEs |
before 4.1.22-3.16.4 | 4.1.22-3.16.4 |
spacewalk-searchSUSE:Manager Server Module 4.1 From an advisory covering 4 CVEs |
before 4.1.3-3.3.7 | 4.1.3-3.3.7 |
spacewalk-webSUSE:Manager Server Module 4.1 From an advisory covering 4 CVEs |
before 4.1.19-3.9.5 | 4.1.19-3.9.5 |
susemanagerSUSE:Manager Server Module 4.1 From an advisory covering 4 CVEs |
before 4.1.21-3.11.6 | 4.1.21-3.11.6 |
susemanager-build-keysSUSE:Manager Server Module 4.1 From an advisory covering 4 CVEs |
before 15.2.2-3.6.3 | 15.2.2-3.6.3 |
susemanager-doc-indexesSUSE:Manager Server Module 4.1 From an advisory covering 4 CVEs |
before 4.1-11.17.1 | 4.1-11.17.1 |
susemanager-docs_enSUSE:Manager Server Module 4.1 From an advisory covering 4 CVEs |
before 4.1-11.17.1 | 4.1-11.17.1 |
susemanager-schemaSUSE:Manager Server Module 4.1 From an advisory covering 4 CVEs |
before 4.1.15-3.11.2 | 4.1.15-3.11.2 |
susemanager-slsSUSE:Manager Server Module 4.1 From an advisory covering 4 CVEs |
before 4.1.17-3.13.6 | 4.1.17-3.13.6 |
node-fetchUbuntu:Pro:18.04:LTS |
All versions, plus listed versions 1.7.3-11.7.3-1ubuntu0.1~esm1 |
None known |
node-fetchUbuntu:20.04:LTS |
All versions, plus listed versions 1.7.3-11.7.3-21.7.3-2ubuntu0.1 |
None known |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| aliases | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2020-15168 is a low vulnerability (CVSS 2.6) in Node-fetch, published September 10, 2020. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 1.69%, the 77th percentile. Fixed in node-fetch 3.0.0-beta.9.
References
github.com/node-fetch/node-fetch/security/advisories/GHSA-w7rc-rwvf-8q5r
npmjs.com/package/node-fetch
nvd.nist.gov/vuln/detail/CVE-2020-15168
github.com/node-fetch/node-fetch/commit/2358a6c2563d1730a0cdaccc197c611949f6a334
github.com/node-fetch/node-fetch/commit/eaff0094c4dfdd5b78711a8c4f1b61e33d282072
github.com/advisories/GHSA-w7rc-rwvf-8q5r
Show 35 moreShow less
security-tracker.debian.org/tracker/CVE-2020-15168
github.com/node-fetch/node-fetch
suse.com/support/update/announcement/2020/suse-su-20203235-1
bugzilla.suse.com/1144447
bugzilla.suse.com/1167907
bugzilla.suse.com/1169664
bugzilla.suse.com/1173199
bugzilla.suse.com/1175843
bugzilla.suse.com/1175876
bugzilla.suse.com/1176159
bugzilla.suse.com/1176307
bugzilla.suse.com/1176413
bugzilla.suse.com/1176603
bugzilla.suse.com/1176629
bugzilla.suse.com/1176765
bugzilla.suse.com/1177092
bugzilla.suse.com/1177235
bugzilla.suse.com/1177396
bugzilla.suse.com/1177478
bugzilla.suse.com/1177524
bugzilla.suse.com/1177730
bugzilla.suse.com/1177790
bugzilla.suse.com/1177892
bugzilla.suse.com/1178060
bugzilla.suse.com/1178145
bugzilla.suse.com/1178204
bugzilla.suse.com/1178319
bugzilla.suse.com/1178361
bugzilla.suse.com/1178362
suse.com/security/cve/CVE-2020-15168
suse.com/security/cve/CVE-2020-16846
suse.com/security/cve/CVE-2020-17490
suse.com/security/cve/CVE-2020-25592
ubuntu.com/security/CVE-2020-15168
cve.org/CVERecord?id=CVE-2020-15168
Left out here: the rest of 1 source description. The JSON record has them.