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.
Published: 2026-08-01
Score: 6.3 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

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.

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

Remediation

No vendor fix or workaround currently provided.

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

Tue, 04 Aug 2026 00:15:00 +0000

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


Mon, 03 Aug 2026 18:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

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


Sat, 01 Aug 2026 12:45:00 +0000

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'}


cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-08-03T18:06:09.036Z

Reserved: 2026-07-29T13:06:35.179Z

Link: CVE-2026-67314

cve-icon Vulnrichment

Updated: 2026-08-03T18:05:00.459Z

cve-icon NVD

Status : Received

Published: 2026-08-01T13:17:01.407

Modified: 2026-08-03T19:16:51.113

Link: CVE-2026-67314

cve-icon Redhat

Severity : Important

Publid Date: 2026-08-01T12:22:16Z

Links: CVE-2026-67314 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-04T22:15:03Z

Weaknesses
  • CWE-1321

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

  • CWE-915

    Improperly Controlled Modification of Dynamically-Determined Object Attributes