Skip to main content

Axios EUVDEUVD-2026-88387

| CVE-2026-101908 MEDIUM
Improperly Controlled Modification of Object Prototype Attributes (Prototype Pollution) (CWE-1321)
2026-09-28 GitHub_M GHSA-vh66-26gq-q6x8
6.9
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Compromise app via separate prototype-pollution flaw
  2. Delivery
    Set Object.prototype.headers with attacker headers
  3. Exploit
    App issues axios fetch-adapter request
  4. Execution
    Inherited fetchOptions.headers override sanitized Request
  5. Impact
    Injected auth/metadata headers alter downstream request

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V3 - Web Frontend Security Prototype pollution prevention
MITRE ATT&CK

2 techniques across 2 tactics: Execution, Initial Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires that the same Node.js/browser process ALREADY be compromised by a separate prototype-pollution vulnerability capable of writing Object.prototype.headers - this CVE alone is a non-exploitable gadget. The application must also use axios's fetch adapter (fetch-based transport) in the affected range 1.7.0 through 1.19.x. Given that precondition, no additional user interaction or authentication against axios is needed. The dominant limiting factor is the mandatory chained prototype-pollution primitive; without it, the sanitized Request headers are never overridden.

Impact

This is a GADGET vulnerability, not a directly-triggerable flaw: the axios fetch adapter constructs a Request from sanitized options but then passes the original fetchOptions as fetch's second argument, so header sanitization can be undone - but ONLY if a SEPARATE same-process prototype-pollution flaw has already populated Object.prototype.headers. The description states this dependency explicitly, and the vendor CVSS 4.0 vector reflects it with AT:P (Attack Requirements: Present). No EPSS score, no CISA KEV listing, and no public exploit code are present in the input, so this is 'no public exploit identified at time of analysis' - the fix ships as config-hardening rather than in response to observed attacks. The vendor scored it 6.9 (CVSS 4.0) and mapped impact entirely to the subsequent system (SC:L/SI:H, with VC/VI/VA:N), consistent with header injection that corrupts a downstream request/service rather than crashing axios itself. Real-world priority is LOW-to-MEDIUM despite the ubiquity of axios: the gadget is inert without a chained prototype-pollution primitive elsewhere in the same process, which sharply narrows exploitability. The 'Information Disclosure' tag understates the primary integrity/header-injection nature (though a confidentiality angle exists via leaked authorization headers or metadata-service access). Note: the CVSS 4.0 vector shows PR:N/AC:L but AT:P - the real limiting factor is the required prototype-pollution precondition, not privileges, so raw base metrics overstate ease of standalone exploitation.

Exploit ScenarioDerived

In an application that already contains a separate prototype-pollution bug, an attacker pollutes Object.prototype.headers so that axios's fetchOptions.headers resolves through inheritance. When the app then makes an axios request via the fetch adapter, the polluted headers override the sanitized Request headers - letting the attacker inject Authorization, caching, or cloud metadata-service (e.g., IMDS) headers into an otherwise legitimate outbound request. No public exploit code is identified, and exploitation is impossible without the chained pollution primitive.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 28, 2026

Header sanitization bypass in the Axios fetch adapter (npm axios 1.7.0 through 1.19.x) allows attacker-controlled request headers - such as Authorization, caching directives, or metadata-service targeting values - to be applied after Axios has already built a sanitized Request object, enabling scope-changed integrity impact (assessed CVSS 3.1: AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:H/A:N). Exploitation is not standalone: it is a gadget that requires a separate same-process prototype-pollution flaw capable of writing Object.prototype.headers, plus use of the fetch-based transport rather than the default Node HTTP adapter. No public exploit code is identified at time of analysis, but the fix and code change are public in the Axios v1.20.0 release, pull request #11141, and commit d19040bd, so the affected range should be treated as patch-now.

RemediationAI

Vendor-released patch: upgrade to axios 1.20.0 or later (https://github.com/axios/axios/releases/tag/v1.20.0), which ships the fetch-adapter consistency fix from PR #11141 and commit d19040bd; the change ensures custom fetch implementations receive the fully resolved Request plus a safe second fetchOptions argument whose own fields cannot override Axios-managed request fields, and adds runtime config prototype hardening that ignores values inherited only from a shared Object.prototype. Until upgrade is possible, the most effective control is to eliminate the precondition rather than the gadget: find and fix the separate prototype-pollution bug in the same process, since without Object.prototype.headers pollution the sanitized Request headers are never overridden and this CVE is not reachable. Additional compensating controls, each with trade-offs: avoid the fetch adapter in Node (set adapter: 'http') so the vulnerable code path is not exercised - this may change behavior for code relying on fetch semantics; run Node with --disable-proto=throw to block the most common __proto__-based pollution vector - this can break libraries that legitimately manipulate __proto__; or freeze Object.prototype (Object.freeze(Object.prototype)) at process startup, which is a strong barrier but commonly breaks frameworks and polyfills that extend built-in prototypes. Do not rely on input validation of headers alone, since the inherited value bypasses Axios's own sanitized Request.

Affected VersionsENISA

axios 1.7.0, < 1.20.0

Affected Packages

npm axios fix: 1.20.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in npm

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Axios is a promise-based HTTP client used in both browsers and Node.js. In the affected fetch adapter, Axios first constructs a Request object from sanitized resolvedOptions, but then invokes the global/configured fetch with the original, unsanitized fetchOptions as the second argument. If a different bug in the same process has already polluted Object.prototype.headers, then fetchOptions.headers has no own property and resolves through prototype inheritance; the WHATWG fetch second-argument processing lets those inherited headers override the sanitized Request headers after construction. The root cause class is CWE-1321 (improperly controlled modification of object prototype attributes / prototype pollution), and the CPE cpe:2.3:a:axios:axios confirms all axios releases in the vulnerable range are in scope, not a specific distribution channel. The assessed vector's AC:H and CVSS 4.0 AT:P reflect the mandatory attack precondition: the chain is only exploitable when an independent prototype-pollution primitive already exists in the same Node.js or browser realm, which is why this CVE is best understood as a gadget that supplies the final step rather than a directly triggerable flaw.

Know when Axios gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 6.9 MEDIUM
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
vuln.today AI 7.5 HIGH

AC:H because a separate prototype-pollution primitive is required; S:C and I:H because injected headers corrupt a downstream request/service, with only limited confidentiality (C:L) from leaked auth/metadata headers.

3.1 AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:H/A:N
4.0 AV:N/AC:H/AT:P/PR:N/UI:N/VC:L/VI:H/VA:N/SC:L/SI:H/SA:N
SUSE 4.8 HIGH
AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N
Red Hat 6.5 MEDIUM

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
Low
Subsequent system: Integrity
High
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Sep 28, 2026 - 19:01 EUVD
CVE Published
Sep 28, 2026 - 17:38 cve.org
MEDIUM 6.9

DescriptionCVE.org

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.

Blast Radius

ecosystem impact
† from your stack dependencies † transitive graph · vuln.today resolves 4-path depth
  • 17 npm packages depend on axios (14 direct, 3 indirect)

Ecosystem-wide dependent count for version 1.7.0.

Threat Intelligence Overview

EPSS Score
0.4%
Top 67% exploitable
Prevalence
Ubiquitous
axios is one of the most-installed npm HTTP clients across Node.js and browser apps
Threat Intel
1
1 source
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA Vendor GitHub

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact· derived
High
Technical Impact
Partial

Priority Score

34
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +34
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

More in Axios

View all
CVE-2026-42043 CRITICAL POC
10.0 Apr 24

NO_PROXY protection bypass in Axios HTTP client (versions 1.0.0-1.15.0 and ≤0.31.0) lets an attacker who controls a requ

CVE-2026-42044 CRITICAL POC
9.1 Apr 24

JSON response tampering in the Axios HTTP client (versions 1.0.0 up to but not including 1.15.2) lets an attacker who ca

CVE-2026-67320 HIGH POC
8.3 Aug 01

Prototype pollution via the Node.js HTTP adapter in axios allows an attacker who controls `Object.prototype.proxy` to si

CVE-2025-27152 HIGH POC
7.7 Mar 07

axios is a promise based HTTP client for the browser and node.js. Rated high severity (CVSS 7.7), this vulnerability is

CVE-2025-58754 HIGH POC
7.5 Sep 12

Axios is a promise based HTTP client for the browser and Node.js. Rated high severity (CVSS 7.5), this vulnerability is

CVE-2026-25639 HIGH POC
7.5 Feb 09

Axios versions up to 0.30.3 is affected by improper check for unusual or exceptional conditions (CVSS 7.5).

CVE-2024-39338 HIGH POC
7.5 Aug 12

axios 1.7.2 allows SSRF via unexpected behavior where requests for path relative URLs get processed as protocol relative

CVE-2021-3749 HIGH POC
7.5 Aug 31

axios is vulnerable to Inefficient Regular Expression Complexity. Rated high severity (CVSS 7.5), this vulnerability is

CVE-2019-10742 HIGH POC
7.5 May 07

Axios up to and including 0.18.0 allows attackers to cause a denial of service (application crash) by continuing to acce

CVE-2026-42033 HIGH POC
7.4 Apr 24

Prototype pollution in Axios HTTP client versions before 1.15.1 and 0.31.1 enables silent interception and modification

CVE-2026-42039 MEDIUM POC
6.9 Apr 24

Denial of service in Axios HTTP client before versions 1.15.1 and 0.31.1 allows remote unauthenticated attackers to cras

CVE-2026-42041 MEDIUM POC
6.5 Apr 24

Prototype pollution in Axios library versions prior to 1.15.1 and 0.31.1 allows remote attackers to suppress HTTP error

Vendor StatusVendor

SUSE

Severity: Important
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise High Performance Computing 12 Not-Affected
SUSE Linux Enterprise Micro 5.3 Not-Affected
SUSE Linux Enterprise Micro 5.4 Not-Affected
SUSE Linux Enterprise Micro 5.5 Not-Affected

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy