Description
Axios is a promise-based HTTP client for the browser and Node.js. From 1.7.0 until 1.20.0, the fetch adapter constructs a Request with sanitized resolvedOptions but then calls fetch with the original fetchOptions. A separate same-process prototype-pollution flaw populates Object.prototype.headers so fetchOptions.headers resolves through inheritance. The inherited fetchOptions.headers value overrides the sanitized Request headers through the second argument to fetch after Request construction. Attacker-controlled request headers can alter authorization, caching, metadata-service access, or application-specific behavior. This issue is fixed in version 1.20.0.
Published: 2026-09-28
Score: 6.9 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Header tampering
Action: Patch
AI Analysis

Impact

Axios, a widely used HTTP client for browsers and Node.js, suffers from a prototype‑pollution vulnerability in its fetch adapter. When constructing a Request object, Axios sanitizes the resolved options, but subsequently calls the native fetch function with the original, unsanitized options. The unsanitized options contain Object.prototype.headers, which, when polluted, inherit through the prototype chain and become the effective headers passed to fetch. This allows an attacker to inject custom headers that override the sanitized Request headers, potentially manipulating Authorization, cache directives, metadata‑service tokens, or other application‑specific headers. The weakness is defined by CWE‑1321 (Prototype Pollution) and CWE‑628 (Insecure Resource Handling), and can compromise the confidentiality and integrity of downstream services if malicious requests reach them.

Affected Systems

Axios versions from 1.7.0 up to and including 1.19.x are vulnerable when the fetch adapter is used. The issue affects both browser and Node.js deployments that create Axios requests via this adapter. Versions 1.20.0 and later incorporate the fix and are no longer susceptible.

Risk and Exploitability

The CVSS score of 6.9 indicates moderate severity, while the EPSS score of less than 1% reveals a very low probability of exploitation at this time; the vulnerability is not listed in the CISA KEV catalogue, suggesting no widespread exploitation yet. Based on the description, the likely attack vector requires an attacker to execute code in the same process as the Axios instance—for example, a compromised Node.js application, a malicious browser extension, or other injected scripts—so that Object.prototype can be polluted before the fetch call. Once the prototype pollution is achieved, the attacker’s headers will be sent in outgoing HTTP requests, potentially enabling unauthorized access or altered application behavior.

Generated by OpenCVE AI on September 30, 2026 at 05:05 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade Axios to version 1.20.0 or later, which removes the prototype‑pollution path in the fetch adapter.
  • Disable or replace the fetch adapter in the Axios configuration to prevent the vulnerable header handling.
  • As a temporary measure, explicitly clone request options without prototype inheritance or clear Object.prototype.headers before making the request to ensure only intended headers are sent.

Generated by OpenCVE AI on September 30, 2026 at 05:05 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-vh66-26gq-q6x8 Axios: Prototype pollution gadget in fetch adapter can alter outbound requests
History

Tue, 29 Sep 2026 13:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-628
References
Metrics threat_severity

None

cvssV3_1

{'score': 6.5, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:H/A:N'}

threat_severity

Moderate


Mon, 28 Sep 2026 19:30:00 +0000

Type Values Removed Values Added
First Time appeared Axios
Axios axios
Vendors & Products Axios
Axios axios
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Mon, 28 Sep 2026 17:45:00 +0000

Type Values Removed Values Added
Description Axios is a promise-based HTTP client for the browser and Node.js. From 1.7.0 until 1.20.0, the fetch adapter constructs a Request with sanitized resolvedOptions but then calls fetch with the original fetchOptions. A separate same-process prototype-pollution flaw populates Object.prototype.headers so fetchOptions.headers resolves through inheritance. The inherited fetchOptions.headers value overrides the sanitized Request headers through the second argument to fetch after Request construction. Attacker-controlled request headers can alter authorization, caching, metadata-service access, or application-specific behavior. This issue is fixed in version 1.20.0.
Title Axios: Prototype pollution gadget in fetch adapter can alter outbound requests
Weaknesses CWE-1321
References
Metrics cvssV4_0

{'score': 6.9, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:N/SC:L/SI:H/SA:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-09-28T18:15:41.687Z

Reserved: 2026-09-28T15:55:37.907Z

Link: CVE-2026-101908

cve-icon Vulnrichment

Updated: 2026-09-28T18:15:37.900Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-09-28T18:17:19.440

Modified: 2026-09-30T19:38:27.293

Link: CVE-2026-101908

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-09-28T17:38:55Z

Links: CVE-2026-101908 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-09-30T05:15:17Z

Weaknesses
  • CWE-1321

    Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution')

  • CWE-628

    Function Call with Incorrectly Specified Arguments