Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessPollute Object.prototype via separate vulnerability
-
DeliveryInject malicious keys targeting Axios internals
-
ExploitApplication makes Axios HTTP request
-
ExecutionAxios reads polluted properties without hasOwnProperty check
-
PersistAttacker intercepts/modifies response or hijacks transport
-
ImpactExfiltrate credentials and sensitive data
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 | Successful exploitation requires Object.prototype to have been polluted by a separate vulnerability or malicious code in the same JavaScript runtime process. This precondition typically arises from vulnerable npm dependencies with prototype pollution flaws (such as unpatched versions of lodash, merge-deep, or similar utility libraries) or malicious packages in the supply chain. The attacker must also know or guess which specific prototype keys Axios reads without hasOwnProperty guards - these are internal implementation details but discoverable through source code analysis. Crucially, this is NOT a standalone remote code execution vulnerability; it requires the chained condition of existing prototype pollution. However, once that precondition exists, remote unauthenticated attackers can trigger Axios requests that consume the polluted properties (AC:H reflects this dependency). The vulnerability affects both server-side Node.js applications and client-side browser JavaScript if the browser environment has been polluted. Default Axios configurations are vulnerable - no non-default settings are required. The CVSS scope is unchanged (S:U), meaning exploitation is confined to the security context of the vulnerable Axios instance, but within that context, confidentiality and integrity impacts are high. |
| Impact | Real-world risk assessment requires weighing multiple factors that create a nuanced threat profile. The CVSS base score of 7.4 (High) reflects significant potential impact with high confidentiality and integrity compromise but the AC:H (high complexity) constraint is critical. The attack complexity is high because exploitation requires a separate prototype pollution vulnerability to exist in the same Node.js process - Axios itself does not introduce the pollution, it merely fails to defend against it. This makes it a second-order vulnerability dependent on supply chain risk from other npm packages. The network vector (AV:N) with no authentication (PR:N) means once the precondition exists, remote attackers can exploit it without credentials, which is severe. However, the lack of EPSS data and absence of CISA KEV listing suggests this is not yet widely exploited in practice, likely because the chained nature (pollution + Axios) creates friction for mass exploitation. For organizations using Axios alongside dependencies with known prototype pollution issues (common in the npm ecosystem), this represents urgent risk. For those with robust dependency scanning and no identified pollution vectors, priority may be lower. The inability to detect when interception occurs (silent modification of responses) makes this particularly dangerous for applications handling sensitive data through Axios requests. Patch availability in versions 1.15.1 and 0.31.1 makes this fully remediable, elevating the priority for environments where the precondition might exist. |
| Exploit ScenarioDerived | An attacker identifies a Node.js application using vulnerable Axios alongside a dependency with a prototype pollution vulnerability, such as an outdated version of lodash's merge function. The attacker exploits the separate pollution issue to inject malicious properties into Object.prototype, specifically targeting keys that Axios reads during request/response processing, such as transport adapter configuration or response transformation functions. Once the prototype is polluted, all subsequent Axios requests in the application silently use the attacker-controlled properties. The attacker can now intercept every API response, modify JSON payloads to inject malicious data (such as changing account balances or authorization tokens), or completely hijack the HTTP transport to exfiltrate authentication headers and request bodies to an attacker-controlled server. No public exploit identified at time of analysis, but the attack pattern is well-understood in the npm security community. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Apr 24, 2026
Prototype pollution in Axios HTTP client versions before 1.15.1 and 0.31.1 enables silent interception and modification of all JSON responses or complete HTTP transport hijacking when the JavaScript Object.prototype has been polluted by a co-dependency. This vulnerability requires a separate prototype pollution source within the same Node.js process but requires no authentication once that precondition exists. An attacker can then access credentials, headers, and request bodies across the application. EPSS data not available; no public exploit identified at time of analysis.
RemediationAI
Upgrade Axios to version 1.15.1 or later for 1.x users, or version 0.31.1 or later for 0.x users, as documented in GitHub security advisory GHSA-pf86-5x62-jrwf at https://github.com/axios/axios/security/advisories/GHSA-pf86-5x62-jrwf. These patched versions implement hasOwnProperty guards to prevent reading polluted prototype properties. If immediate upgrade is not feasible, implement defense-in-depth measures: audit all npm dependencies for known prototype pollution vulnerabilities using tools like npm audit or Snyk, freeze Object.prototype using Object.freeze(Object.prototype) at application startup (note this may break legacy code expecting prototype mutability), and implement runtime monitoring for unexpected properties on Object.prototype. For high-risk applications, consider replacing Axios temporarily with alternative HTTP clients that demonstrate prototype pollution resistance, though this carries significant refactoring cost. All compensating controls are partial mitigations only - upgrading to patched versions is the definitive fix.
Affected VersionsENISA
Affected Packages
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 widely-used promise-based HTTP client library for Node.js and browser environments, commonly deployed in modern JavaScript applications for API communication. This vulnerability stems from CWE-1321 (Improperly Controlled Modification of Object Prototype Attributes), specifically the absence of hasOwnProperty guards when Axios reads configuration properties from objects. In JavaScript, prototype pollution occurs when an attacker can inject properties into Object.prototype, causing all objects in the application to inherit malicious properties. Axios reads certain configuration keys without verifying they are own properties rather than inherited ones. When a separate vulnerability or malicious dependency pollutes Object.prototype with keys that Axios consumes (such as transport configuration or response transformation hooks), the attacker gains control over Axios's internal behavior. The CVSS vector indicates network attack vector (AV:N) but high complexity (AC:H), reflecting that the attack requires the precondition of existing prototype pollution from another source in the same JavaScript runtime.
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
AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
3DescriptionCVE.org
Axios is a promise based HTTP client for the browser and Node.js. Prior to 1.15.1 and 0.31.1, when Object.prototype has been polluted by any co-dependency with keys that axios reads without a hasOwnProperty guard, an attacker can (a) silently intercept and modify every JSON response before the application sees it, or (b) fully hijack the underlying HTTP transport, gaining access to request credentials, headers, and body. The precondition is prototype pollution from a separate source in the same process. This vulnerability is fixed in 1.15.1 and 0.31.1.
Blast Radius
ecosystem impact- 273 npm packages depend on axios (189 direct, 84 indirect)
Ecosystem-wide dependent count for version 1.0.0.
Executive ViewAI
Axios HTTP client versions before 1.15.1 and 0.31.1 contain a prototype pollution vulnerability that allows attackers to intercept and modify all JSON responses or hijack HTTP transport when JavaScript Object.prototype has been polluted by a co-dependency in the same Node.js process. This creates a critical supply chain risk, enabling credential theft and request manipulation across applications without requiring direct authentication.
No vendor-released patch identified at time of analysis. Interim mitigations: (1) Implement Object.freeze(Object.prototype) as a temporary runtime protection in Node.js application startup (with testing for compatibility); (2) Audit and remove co-dependencies known to introduce prototype pollution; (3) Implement HTTP response validation and integrity checks at application logic layer; (4) Isolate affected applications into separate Node.js processes to limit pollution scope; (5) Monitor for unexpected Object.prototype mutations via runtime instrumentation. Note: These mitigations are incomplete-patch deployment remains essential.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
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
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
Prototype pollution via the Node.js HTTP adapter in axios allows an attacker who controls `Object.prototype.proxy` to si
axios is a promise based HTTP client for the browser and node.js. Rated high severity (CVSS 7.7), this vulnerability is
Axios is a promise based HTTP client for the browser and Node.js. Rated high severity (CVSS 7.5), this vulnerability is
Axios versions up to 0.30.3 is affected by improper check for unusual or exceptional conditions (CVSS 7.5).
axios 1.7.2 allows SSRF via unexpected behavior where requests for path relative URLs get processed as protocol relative
axios is vulnerable to Inefficient Regular Expression Complexity. Rated high severity (CVSS 7.5), this vulnerability is
Axios up to and including 0.18.0 allows attackers to cause a denial of service (application crash) by continuing to acce
Denial of service in Axios HTTP client before versions 1.15.1 and 0.31.1 allows remote unauthenticated attackers to cras
Prototype pollution in Axios library versions prior to 1.15.1 and 0.31.1 allows remote attackers to suppress HTTP error
An issue discovered in Axios 1.5.1 inadvertently reveals the confidential XSRF-TOKEN stored in cookies by including it i
EUVD-2026-25588
GHSA-pf86-5x62-jrwf
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB