CVE-2026-44495: Axios Prototype Pollution Gadget Vulnerability (0.31.0 & 1.15.1)
Axios, a widely-used HTTP client library for JavaScript applications, contains prototype-pollution gadgets that can be exploited if another vulnerability in the same process has already poisoned JavaScript's Object.prototype. The issue affects versions 0.19.0 through 0.31.0 in the 0.x branch and version 1.15.1 in the 1.x branch. By itself, Axios does not cause the initial prototype pollution; instead, it becomes a secondary target once an attacker has already compromised Object.prototype through a separate vulnerability. When this occurs, Axios may incorrectly interpret inherited properties as legitimate request configuration, leading to potential code execution or data exposure. The vulnerability is addressed in Axios 0.31.1 and 1.15.2.
Source data · NVD / CISA · public domain
- CVSS
- 3.1 · 7.0 HIGH · CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:L/A:L
- Weaknesses (CWE)
- CWE-1321, CWE-915, CWE-94
- Affected products
- 0 configuration(s)
- Published / Modified
- 2026-06-11 / 2026-07-17
NVD description (verbatim)
Axios is a promise based HTTP client for the browser and Node.js. From 0.19.0 to before 0.31.1 and 1.15.2, Axios contains prototype-pollution gadgets in request config processing. If another vulnerability in the same JavaScript process has already polluted Object.prototype.transformResponse, affected Axios versions may treat that inherited value as request configuration or as an option validator. Axios does not itself create the prototype pollution. Exploitability requires a separate prototype-pollution vulnerability or equivalent attacker control over Object.prototype before Axios creates a request. This vulnerability is fixed in 0.31.1 and 1.15.2.
35 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
The vulnerability stems from how Axios processes request configuration objects without adequately isolating inherited properties from Object.prototype. Specifically, when the transformResponse property exists on the polluted prototype, Axios may instantiate or invoke it as a validator or handler, treating attacker-controlled code as legitimate configuration. The attack chain requires two conditions: (1) a prior prototype-pollution vulnerability in the same JavaScript execution context that taints Object.prototype, and (2) Axios creating a request after that pollution occurs. This is classified as a gadget vulnerability (CWE-915) because Axios itself does not initiate the prototype pollution but becomes an unwitting vector for exploitation once the prototype is compromised. The CVSS 3.1 score of 7.0 (HIGH) reflects the high confidentiality impact, low integrity impact, and low availability impact, with the Access Complexity rated as High because successful exploitation requires a preceding, separate vulnerability.
Business impact
Organizations using Axios in Node.js applications or browser-based JavaScript environments face compounded risk when multiple dependencies are present. A single prototype-pollution bug in any upstream library—such as a parsing library, templating engine, or third-party middleware—can activate this Axios gadget, leading to unauthorized data access or injection of malicious behavior into HTTP requests. Applications making authenticated API calls, handling sensitive user data, or interacting with critical backend services are at elevated risk. The impact extends beyond single-library vulnerability management: teams must now audit their entire dependency graph for prototype-pollution sources, increasing remediation complexity and requiring coordinated patching across multiple packages.
Affected systems
Axios versions 0.19.0 through 0.31.0 (0.x line) and 1.15.1 (1.x line) are affected. Any JavaScript application—Node.js backend, Electron desktop app, or modern browser environment—using a vulnerable Axios version in conjunction with another prototype-pollution vulnerability is susceptible. Popular frameworks including Express, Vue.js applications with server-side rendering, and microservices architectures relying on Axios for inter-service communication are in scope. The vendor_products list in the source data is empty, indicating that Axios itself is the affected upstream library; downstream applications are the ultimate impact zone.
Exploitability
Exploitability is contingent and not immediate. Axios alone cannot trigger this vulnerability; an attacker must first weaponize a separate prototype-pollution flaw elsewhere in the application's dependency tree or through direct request injection. The CVSS Access Complexity rating of High reflects this prerequisite. Once Object.prototype.transformResponse is poisoned, however, the exploitation becomes deterministic: any Axios request invokes the malicious handler. The vulnerability does not require user interaction or special network conditions, making it dangerous in automated contexts (such as scheduled jobs or webhook handlers). Public exploits for this specific gadget are not yet widespread, but proof-of-concept chains combining a known prototype-pollution vulnerability with Axios are plausible.
Remediation
Upgrade Axios to version 0.31.1 or later for the 0.x branch, or 1.15.2 or later for the 1.x branch. Verify the upgrade through package managers (npm, yarn, pnpm) and confirm that lockfiles reflect the patched versions. Beyond Axios patching, conduct a dependency audit to identify and remediate any upstream prototype-pollution vulnerabilities. Use tools like npm audit, Snyk, or Dependabot to scan the full dependency tree. For applications that cannot immediately upgrade Axios, implement Object.prototype property guards via Object.defineProperty() or use libraries that safely freeze prototype chains, though these are temporary mitigations and not substitutes for patching.
Patch guidance
Release patches are available as Axios 0.31.1 and 1.15.2. Update package.json to reference these versions or higher. For npm users: npm update axios or npm install axios@latest. For yarn users: yarn upgrade axios. Verify the patch by checking node_modules/axios/package.json or running npm list axios. Organizations on version 1.x should prioritize upgrading to 1.15.2, as the 1.x branch is actively maintained. Version 0.x is in maintenance mode; consider upgrading to 1.x if feasible to reduce long-term maintenance burden. Test HTTP client functionality in staging before rolling to production, particularly for applications making authenticated or sensitive requests.
Detection guidance
Monitor for unexpected modifications to Object.prototype, especially transformResponse and other request-related properties, using JavaScript proxy-based instrumentation or AST analysis in development pipelines. In runtime environments, enable verbose logging of Axios request configuration to identify suspicious validators or handlers. Network-side detection is limited because the malicious behavior occurs within the JavaScript process; however, unusual request payloads or unexpected API behavior may signal exploitation. Incorporate static analysis tools (ESLint plugins, custom linters) that flag prototype pollution sources and gadget chains. For threat hunting, review dependency trees of critical applications to correlate prototype-pollution CVEs with Axios versions in use.
Why prioritize this
This vulnerability warrants HIGH priority despite requiring a preceding vulnerability because: (1) prototype-pollution bugs are common in the JavaScript ecosystem, increasing the likelihood of a chained attack; (2) Axios is ubiquitous in production Node.js and browser environments, maximizing exposure; (3) exploitation does not require user interaction, making it suitable for automated attack scenarios; (4) the impact includes both confidentiality and integrity, affecting data security and application integrity. Organizations should treat patching Axios as urgent and concurrently audit their dependency graph for prototype-pollution sources to break the attack chain at its root.
Risk score, explained
The CVSS 3.1 score of 7.0 (HIGH) reflects a scenario where prototype pollution has already occurred and Axios instantiates the malicious handler. High confidentiality (user data, API tokens exfiltration), low-to-moderate integrity (request manipulation), and low availability (unlikely to cause denial of service) drive the rating. Access Complexity is High because the attack requires a separate, upstream vulnerability. Network-based attackers without code execution cannot trigger this alone, but insider threats or compromised dependencies can. The score appropriately penalizes the real-world likelihood while recognizing that most organizations have multiple prototype-pollution risks in their supply chain.
Frequently asked questions
Can Axios cause prototype pollution on its own, or is it only a gadget?
Axios does not initiate prototype pollution. It is purely a gadget library—an unwitting accomplice activated only if Object.prototype is already compromised by a separate vulnerability. Always patch both the upstream prototype-pollution source and Axios to fully remediate.
What is the difference between versions 0.x and 1.x in terms of this vulnerability?
Both branches are affected, with 0.x covering 0.19.0–0.31.0 and 1.x covering 1.15.1. Patches are 0.31.1 and 1.15.2 respectively. Version 1.x is actively maintained; version 0.x is legacy. Prioritize upgrading 1.x to 1.15.2, but do not neglect 0.x systems still in production.
If my application does not have any known prototype-pollution vulnerabilities, should I still upgrade Axios?
Yes. You may not yet know of all prototype-pollution sources in your dependencies, and new ones are discovered regularly. Upgrading Axios removes it as a gadget target and is a low-risk, high-value action. Treat it as preventive hygiene in your patch management cycle.
Can WAF or network security appliances detect exploitation of this vulnerability?
Unlikely. The attack occurs entirely within the JavaScript runtime after prototype pollution; network signatures cannot reliably identify it. Focus on source-level mitigations: patching Axios, auditing dependencies for prototype pollution, and using security-focused linters and code scanning in your CI/CD pipeline.
This analysis is based on the published CVE record and vendor guidance current as of the modification date (2026-07-17). Patch versions and upgrade paths referenced are accurate to available vendor advisories; verify against official Axios release notes and npm registry before deployment. This vulnerability requires a preceding prototype-pollution condition; isolated patching of Axios without addressing upstream pollution sources provides incomplete risk reduction. Organizations should conduct their own security assessments and consult vendor advisories for the most current remediation guidance. This document is for informational purposes and does not constitute legal or compliance advice. Source: NVD (public-domain), retrieved 2026-07-20. Analysis generated by SEC.co (claude-haiku-4-5).
Related vulnerabilities
- CVE-2026-44494HIGHAxios Prototype Pollution to MITM Gadget Chain (v1.0.0–1.15.x)
- CVE-2026-46517HIGHLMDeploy Supply-Chain RCE via Hardcoded Trust Settings
- CVE-2026-46625HIGHjs-cookie Prototype Pollution Allows Cookie Attribute Hijacking
- CVE-2026-12208MEDIUMPrototype Pollution in jsonata-js Library—Exploitation and Remediation Guide
- CVE-2026-12209MEDIUMRubyLouvre Avalon Prototype Pollution Vulnerability – Exploitation Active
- CVE-2026-10904HIGHChrome V8 Sandbox Escape Remote Code Execution
- CVE-2026-10928HIGHScript Injection in Google Chrome Headless – CVSS 8.8 High Severity
- CVE-2026-11231HIGHChrome Safe Browsing Code Execution on macOS – Patch Now