CVE-2026-67314

axios before 1.18.0 Prototype Pollution via auth subfields

Published Aug 1, 2026 CVSS 4.0 · 6.3 Medium EPSS < 1% KEV · Not listed
Description
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.

Analysis

AI-generated

Technical impact

A prototype‑pollution flaw in axios versions 1.15.2 through 1.17.x enables an attacker who can set properties on Object.prototype with the names username or password to be reflected in outbound Basic auth headers. The vulnerability is triggered when an axios request supplies an auth object that omits those properties; axios reads the inherited prototype values and constructs the Authorization header from them. The flaw is a Prototype Pollution (CWE‑1321) that results in tampering of HTTP requests sent by the vulnerable application, potentially allowing credential injection or unauthorized impersonation, and in some situations could lead to credential disclosure if additional application‑specific conditions are met.

Affected Systems

Axios 1.15.2 up to, but not including, 1.18.0 is affected. The vulnerability exists in the lib/adapters/http.js and lib/helpers/resolveConfig.js modules. An affected system therefore comprises any Node.js application that uses axios 1.15.2–1.17.x, has the ability to set Object.prototype.username or Object.prototype.password, and performs authenticated HTTP requests without explicitly providing a username or password.

Risk and Exploitability

The CVSS score of 6.3 denotes a moderate severity. The EPSS score of <1% indicates a very low probability of exploitation, and the vulnerability is not listed in the CISA KEV catalog, suggesting limited known exploitation. Exploitation requires that the attacker first manages a separate prototype‑pollution primitive within the same process to set the legacy prototype properties. Once in place, any axios call lacking explicit auth credentials will automatically use the polluted values, leading to tampered Authorization headers. Because the flaw affects outbound traffic only, the primary impact is to compromise communication with downstream services rather than achieving direct code execution on the host.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade axios to version 1.18.0 or newer, which removes the prototype‑pollution vector
  • If an upgrade is not immediately possible, explicitly delete or overwrite Object.prototype.username and Object.prototype.password before making any axios requests, ensuring that no inherited values are used
  • Validate that auth objects passed to axios contain explicit username and password fields or otherwise default to safe values; avoid leaving these fields undefined so that prototype values cannot be injected

Generated by OpenCVE AI on August 4, 2026 at 22:14 UTC.

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Github GHSA Github GHSA GHSA-xj6q-8x83-jv6g Axios: Prototype pollution auth subfields can inject Basic auth
History
Type Values Removed Values Added
Metrics cvssV3_1

{'score': 8.9, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:L'}

cvssV3_1

{'score': 6.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L'}

Type Values Removed Values Added
Weaknesses CWE-915
References
Metrics threat_severity

None

cvssV3_1

{'score': 8.9, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:L'}

threat_severity

Important

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
Description 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.
Title axios before 1.18.0 Prototype Pollution via auth subfields
First Time appeared Axios
Axios axios
Weaknesses CWE-1321
CPEs cpe:2.3:a:axios:axios:*:*:*:*:*:node.js:*:*
Vendors & Products Axios
Axios axios
References
Metrics cvssV4_0

{'score': 6.3, 'vector': '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'}

Weaknesses
  • CWE-1321

    Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution')

  • CWE-915

    Improperly Controlled Modification of Dynamically-Determined Object Attributes

Sources

Status
PUBLISHED
Assigner
VulnCheck
Published
Updated
Aug 3, 2026, 6:06 PM
Reserved
Jul 29, 2026, 1:06 PM
Status
Analyzed
Published
Aug 1, 2026, 1:17 PM
Modified
Sep 1, 2026, 3:40 PM
Severity
Important
Public date
Aug 1, 2026, 12:22 PM