Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessExploit separate prototype-pollution primitive in host app
-
DeliverySet Object.prototype.username and .password to attacker values
-
ExploitHost app calls axios with partial or empty auth object
-
Executionaxios reads prototype-inherited credential values for missing fields
-
PersistOutbound HTTP request carries attacker-injected Authorization: Basic header
-
ImpactDownstream service authenticates using attacker-chosen credentials
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 two simultaneous conditions to be met. First, the host application must already be vulnerable to a separate prototype-pollution primitive that allows an attacker to set string values on Object.prototype - this could be a distinct CVE in a dependency, a merge/assign gadget over user-supplied JSON, or similar. Second, the affected axios call site must pass an auth object that is either empty or missing username or password as own properties, using a pattern such as auth: opts.auth || {} or auth: { username: userInput } where password is omitted. Requests that explicitly supply both auth.username and auth.password as own string properties are not affected, and requests with no own auth object after mergeConfig() are also unaffected. The CVSS 4.0 AT:P metric captures this compound requirement. Exploitation is further limited by the need for network access to the service receiving the tampered outbound request, and credential disclosure specifically requires that the tampered destination be observable by the attacker. |
| Impact | The official CVSS 4.0 vector (AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:L/VA:L) scores 6.3, and the AT:P (Attack Requirements: Present) metric accurately encodes the compound-exploitation requirement. Real-world risk is lower than the score might suggest for most environments: an attacker must first achieve successful prototype pollution of the running Node.js or browser process through a distinct vulnerability before this gadget becomes exploitable. Applications that sanitize user-controlled input through JSON.parse (which cannot create functions but can create string values) and subsequently pass partial auth objects through axios are the realistic at-risk population. No CISA KEV listing exists, no public proof-of-concept has been identified, and EPSS data was not provided in the input. The primary impact is outbound request tampering - an attacker can replace or inject a Basic auth header, potentially causing downstream authentication to succeed with wrong credentials or fail entirely. Credential exfiltration is a secondary risk requiring additional application-specific conditions (e.g., the tampered request is routed to an attacker-observable endpoint and a partial real credential is present). Overall, this is a real but chained, context-dependent issue rather than a standalone critical vulnerability. |
| Exploit ScenarioDerived | An attacker identifies a separate prototype-pollution vulnerability in a Node.js application - such as a merge or assign operation over unsanitized user input - and uses it to set Object.prototype.username and Object.prototype.password to attacker-chosen strings. When the application subsequently makes an axios request using a pattern like axios.get(url, { auth: opts.auth || {} }) where opts.auth is absent or partial, axios reads the polluted prototype values and constructs an Authorization: Basic header with the attacker's credentials, potentially bypassing or replacing the intended authentication on the downstream service call. No public proof-of-concept for this chained attack has been identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 01, 2026
Prototype-pollution read-side gadgets in axios versions >=1.15.2 and <1.18.0 allow an attacker who already controls a separate prototype-pollution primitive in the host application to inject attacker-chosen Basic auth credentials into outbound HTTP requests. When axios processes a request with an own auth object that omits the username or password properties, it falls through to read Object.prototype.username and Object.prototype.password, constructing a forged Authorization: Basic header. Exploiting this requires chaining with a pre-existing prototype pollution vulnerability - axios itself does not pollute prototypes - and no public exploit or CISA KEV listing exists at time of analysis. The vendor-released patch is axios 1.18.0.
RemediationAI
Upgrade axios to version 1.18.0 or later, which addresses the read-side gadget by ensuring auth subfield access is restricted to own properties. The upstream fix is available at commit 32fc489632377d214db55bfa4e2c48486a7d7ce2 (PR #11000) and is reflected in the 1.18.0 release. If immediate upgrade is not possible, a compensating control is to audit all axios call sites that pass a constructed or user-influenced auth object and ensure both username and password are always explicitly set as own properties before the call - for example, replacing auth: opts.auth || {} with auth: { username: opts.auth?.username ?? '', password: opts.auth?.password ?? '' }. A second compensating control is to eliminate the separate prototype pollution vectors in the host application, which would prevent the gadget from being reachable entirely; however, this approach is application-specific and may be difficult to verify completely. The vendor advisory is at https://github.com/axios/axios/security/advisories/GHSA-xj6q-8x83-jv6g.
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
CWE-1321 (Improperly Controlled Modification of Object Prototype Attributes) covers gadget-class vulnerabilities where code unintentionally reads from or writes to Object.prototype. This specific case is a read-side gadget: axios in lib/adapters/http.js (Node HTTP adapter) and lib/helpers/resolveConfig.js (browser/fetch/React Native shared resolver) accesses config.auth.username and config.auth.password without confirming these are own properties of the auth object. When the host process has already had Object.prototype polluted with username and password keys - via a separate, unrelated vulnerability such as a JSON-based deserialization gadget or a merge/assign flaw - axios's property access falls through the prototype chain and retrieves attacker-controlled values. A hardening introduced for a prior advisory (GHSA-q8qp-cvcw-x6jj) applied null-prototype protections to the top-level mergeConfig() output but left the nested auth subobject exposed. The affected CPE is cpe:2.3:a:axios:axios:*:*:*:*:*:*:*:* for versions >=1.15.2, <1.18.0.
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
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:L/VA:L/SC:N/SI:N/SA:N
AC:H reflects the mandatory pre-condition of a separate prototype-pollution primitive; no confidentiality impact in the base case; integrity and availability limited to header injection and downstream auth failures.
AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
axios versions >=1.15.2 and <1.18.0 contain prototype-pollution read-side gadgets in Basic auth subfield handling (lib/adapters/http.js and lib/helpers/resolveConfig.js). When an application is already affected by a separate prototype-pollution primitive and makes an axios request with an own auth object that omits the username and/or password properties, axios reads the inherited Object.prototype.username and Object.prototype.password values and uses them to construct an outbound 'Authorization: Basic ...' header. axios itself does not pollute prototypes. The practical impact is outbound request tampering: an attacker who controls the polluted prototype values can inject attacker-chosen Basic auth credentials or replace an existing Authorization header. Credential disclosure is only possible under additional application-specific conditions.
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
Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.
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
Same technique Code Injection
View allVendor StatusVendor
SUSE
Severity: Moderate| Product | Status |
|---|---|
| SUSE Linux Enterprise Module for SAP Applications 15 SP7 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP7 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.0 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Affected |
| openSUSE Leap 16.0 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP6 | Affected |
| SUSE Linux Enterprise Module for SAP Applications 15 SP3 | Affected |
| SUSE Linux Enterprise Module for SAP Applications 15 SP4 | Affected |
| SUSE Linux Enterprise Module for SAP Applications 15 SP5 | Affected |
| SUSE Linux Enterprise Module for SAP Applications 15 SP6 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP3 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP4 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP5 | Affected |
EUVD-2026-51864
GHSA-38gx-cfqf-f652
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB