Advisory Database
  • Advisories
  • Dependency Scanning
  1. npm
  2. ›
  3. axios
  4. ›
  5. GHSA-xj6q-8x83-jv6g

GHSA-xj6q-8x83-jv6g: Axios: Prototype pollution auth subfields can inject Basic auth

July 20, 2026 (updated August 7, 2026)

Axios versions after the GHSA-q8qp-cvcw-x6jj fix still contain prototype-pollution read-side gadgets in Basic auth subfield handling. If a host application is already affected by prototype pollution and then makes an axios request with an own auth object that omits username or password, axios reads inherited Object.prototype.username and Object.prototype.password values and uses them to construct an outbound Authorization: Basic ... header.

This does not mean axios itself pollutes prototypes. Exploitation requires a separate prototype-pollution primitive in the host process, plus an axios call pattern such as auth: opts.auth || {}.

After GHSA-q8qp-cvcw-x6jj / PR #10779 (shipped in v1.15.2) and the further proxy-side hardening in PR #10833 (merged 2026-05-02), the top-level config.auth and the proxy authsub-fields are correctly read via utils.hasOwnProp. The regular request auth sub-fields (config.auth.username and config.auth.password) and the config.params / config.paramsSerializer reads inside resolveConfig.js are still unguarded against a polluted Object.prototype.

When a polluted host process makes an axios call with the common “optional override” pattern (auth: opts.auth || {} — an empty own {}), the sub-field reads configAuth.username and configAuth.password walk the prototype chain and return the attacker-controlled values. Same for params and paramsSerializer. The outbound HTTP request then carries an attacker-chosen Authorization: Basic <base64> header and an attacker-chosen querystring, leaking credentials and exfiltrating data to whichever host the request goes to (often attacker-influenced too — i.e. the amplifier is wired into many credential-stuffing chains).

Reproduces against axios main HEAD (34723be, dated 2026-05-24) as well as the released v1.16.1.

References

  • github.com/advisories/GHSA-xj6q-8x83-jv6g
  • github.com/axios/axios/commit/32fc489632377d214db55bfa4e2c48486a7d7ce2
  • github.com/axios/axios/pull/11000
  • github.com/axios/axios/releases/tag/v1.18.0
  • github.com/axios/axios/security/advisories/GHSA-xj6q-8x83-jv6g
  • nvd.nist.gov/vuln/detail/CVE-2026-67314
  • www.vulncheck.com/advisories/axios-before-prototype-pollution-via-auth-subfields

Code Behaviors & Features

Detect and mitigate GHSA-xj6q-8x83-jv6g with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →

Affected versions

All versions starting from 1.15.2 before 1.18.0

Fixed versions

  • 1.18.0

Solution

Upgrade to version 1.18.0 or above.

Impact 6.5 MEDIUM

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L

Learn more about CVSS

Weakness

  • CWE-1321: Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution')

Source file

npm/axios/GHSA-xj6q-8x83-jv6g.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Sat, 08 Aug 2026 00:17:19 +0000.