Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconIdentify prototype pollution primitive in dependencies
-
DeliveryInject pollution payload via vulnerable endpoint
-
ExploitApplication processes polluted object
-
InstallAxios adapter performs duck-type check
-
C2Malicious getHeaders() executes
-
ExecuteArbitrary headers injected into outbound request
-
ImpactSession hijacking or cache poisoning achieved
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization HTTP response header sanitization
|
| Exploitation Conditions | Two prerequisites must be satisfied: (1) Object.prototype pollution primitive must exist somewhere in the application's dependency tree-this can originate from any vulnerable library (lodash merge/defaultsDeep misuse, jQuery extend, etc.), not necessarily Axios itself; (2) Application must use the Node.js HTTP adapter in lib/adapters/http.js to make requests with plain object payloads (browser usage via XMLHttpRequest/fetch adapters is not vulnerable). The pollution must specifically include getHeaders (function), append, pipe, on, once (arbitrary truthy values), and Symbol.toStringTag (set to 'FormData'). Attack complexity is HIGH (CVSS AC:H) because the attacker must first discover and exploit the separate prototype pollution vulnerability. No authentication or user interaction required once prerequisites are met (PR:N/UI:N). Exploitation limited to Node.js server-side environments; browser-based Axios usage unaffected. |
| Impact | CVSS 7.4 (High) reflects network attack vector with high attack complexity (AV:N/AC:H/PR:N/UI:N), high confidentiality and integrity impact, but no availability impact. The AC:H rating indicates the attacker must first achieve prototype pollution through another vulnerability-this is a second-order exploitation requiring a pollution primitive elsewhere in the codebase. Real-world risk depends heavily on application context: applications with known prototype pollution vulnerabilities in dependencies (common in Node.js ecosystems) face immediate risk, while hardened applications with prototype pollution mitigations have lower exposure. The PR:N (no privileges required) and UI:N (no user interaction) components indicate exploitation can be fully automated once the prerequisite pollution exists. No EPSS score provided limits quantitative exploitation probability assessment. CISA KEV status is negative, suggesting no widespread active exploitation detected. However, GitHub security advisory confirms exploit details are public, enabling targeted attacks. SSVC framework assessment: Exploitation=POC (public code available), Automatable=Yes (given pollution prerequisite), Technical Impact=Partial (header injection enables multiple attack vectors). Priority should be HIGH for Node.js applications with complex dependency trees, MEDIUM for applications with prototype pollution hardening. |
| Exploit ScenarioDerived | An attacker identifies a Node.js web application using Axios 1.14.0 that also has a prototype pollution vulnerability in a dependency like lodash 4.17.20. The attacker sends a crafted JSON payload (e.g., {"__proto__": {"getHeaders": "<malicious function>", "append": true, "pipe": true, "on": true, "once": true, "[Symbol.toStringTag]": "FormData"}}) to pollute Object.prototype. When the application subsequently uses Axios to make an outbound API request with a plain object payload, Axios misidentifies the payload as FormData, executes the attacker's getHeaders() function, and injects attacker-controlled headers (e.g., "Authorization: Bearer stolen_token") into the HTTP request. This enables session hijacking, privilege escalation, or cache poisoning depending on the target API's header processing. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Apr 24, 2026
Prototype pollution in Axios 1.x (prior to 1.15.1) and 0.x (prior to 0.31.1) enables HTTP header injection attacks when any dependency in the application pollutes Object.prototype with specific properties (getHeaders, append, pipe, on, once, Symbol.toStringTag). Attackers exploit the HTTP adapter's duck-type checking to inject arbitrary headers into outbound HTTP requests, potentially leading to authentication bypass, session hijacking, or cache poisoning. EPSS data unavailable; no confirmed active exploitation (CISA KEV) at time of analysis. Publicly available exploit code exists per vendor advisory GHSA-6chq-wfr3-2hj9.
RemediationAI
Upgrade to Axios 1.15.1 or later for 1.x users, or 0.31.1 or later for 0.x users. Vendor-released patches available via npm (npm update axios) or yarn (yarn upgrade axios). Consult vendor advisory at https://github.com/axios/axios/security/advisories/GHSA-6chq-wfr3-2hj9 for migration guidance. If immediate upgrade is not feasible, implement defense-in-depth prototype pollution protections: freeze Object.prototype using Object.freeze(Object.prototype) at application bootstrap (side effect: breaks libraries relying on prototype extension), use --frozen-intrinsics flag in Node.js 20+ (performance overhead ~5-10%), or implement Content-Security-Policy headers and input validation to block known pollution vectors (reduces but does not eliminate risk). Additionally, audit dependency tree for known prototype pollution vulnerabilities using npm audit or Snyk, and prioritize remediation of pollution primitives that serve as prerequisites for this gadget. Note that mitigating pollution sources eliminates the attack prerequisite but does not fix the Axios gadget itself.
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 for browser and Node.js environments. This vulnerability (CWE-113: Improper Neutralization of CRLF Sequences in HTTP Headers) resides in lib/adapters/http.js, which handles Node.js HTTP/HTTPS requests. The code performs duck-type checking to identify FormData payloads by testing for specific methods and properties. When Object.prototype is polluted with getHeaders (function), append, pipe, on, once (functions), and Symbol.toStringTag (value), Axios misidentifies plain JavaScript objects as FormData instances. The vulnerable adapter then calls the attacker-controlled getHeaders() function and merges returned values into the outgoing request's headers object. This is a gadget vulnerability-the prototype pollution primitive can originate from any library in the dependency chain (lodash, jQuery, etc.), not Axios itself. The attack surface includes any Node.js application using vulnerable Axios versions where prototype pollution exists anywhere in the dependency tree.
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 GitHub Advisory.
CVSS VectorGitHub Advisory
Lifecycle Timeline
3DescriptionGitHub Advisory
Axios is a promise based HTTP client for the browser and Node.js. Prior to 1.15.1 and 0.31.1, a prototype pollution gadget exists in the Axios HTTP adapter (lib/adapters/http.js) that allows an attacker to inject arbitrary HTTP headers into outgoing requests. The vulnerability exploits duck-type checking of the data payload, where if Object.prototype is polluted with getHeaders, append, pipe, on, once, and Symbol.toStringTag, Axios misidentifies any plain object payload as a FormData instance and calls the attacker-controlled getHeaders() function, merging the returned headers into the outgoing request. The vulnerable code resides exclusively in lib/adapters/http.js. The prototype pollution source does not need to originate from Axios itself - any prototype pollution primitive in any dependency in the application's dependency tree is sufficient to trigger this gadget. 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 versions 0.x and 1.x are vulnerable to prototype pollution enabling HTTP header injection, which could allow attackers to bypass authentication or hijack sessions by manipulating outbound requests from affected applications. Organizations using vulnerable Axios versions face risk of unauthorized access to backend systems and data interception, particularly if their dependencies include libraries that pollute Object.prototype.
No vendor-released patch identified at time of analysis. Interim mitigations: (1) Audit and remove any dependencies that pollute Object.prototype properties (getHeaders, append, pipe, on, once, Symbol.toStringTag); (2) implement strict input validation and sanitization on all external data sources; (3) use Object.freeze(Object.prototype) to prevent prototype pollution if architecturally feasible; (4) enforce network segmentation to limit blast radius of compromised credentials; (5) implement enhanced monitoring for anomalous HTTP headers in outbound requests.
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
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
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
Prototype pollution in Axios HTTP client versions before 1.15.1 and 0.31.1 enables silent interception and modification
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
EUVD-2026-25589
GHSA-6chq-wfr3-2hj9
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB