CVE-2026-67319

axios before 0.33.0 Prototype Pollution via nested option objects

Published Aug 1, 2026 CVSS 4.0 · 6.3 Medium EPSS < 1% KEV · Not listed
Description
axios before 0.33.0 (and 1.x before 1.18.0) can consume inherited properties from nested request option objects when the JavaScript process's Object.prototype has already been polluted by another component. While the top-level merged config uses a null prototype, nested plain objects such as auth and paramsSerializer are cloned into ordinary objects and read without own-property checks. When an application passes placeholder nested objects such as auth: {} or paramsSerializer: {}, inherited username/password values can cause silent injection of an Authorization: Basic header, and inherited encode/serialize values can alter query-string serialization (full serializer replacement requires a function-valued pollution primitive). This is exploitable only in the presence of pre-existing prototype pollution.

Analysis

AI-generated

Technical impact

Axios versions before 0.33.0 (and Axios 1.x before 1.18.0) merge nested request options without own-property checks. When Object.prototype has been polluted by another component, inherited properties such as username, password, or custom serialization functions are read as real values. This can silently insert a Basic Authorization header or alter query‑string serialization, allowing an attacker who has already polluted the prototype to inject unauthorized credentials or change request semantics. The flaw is a prototype‑pollution weakness (CWE‑1321) and an inadequate handling of nested objects that enables serialization manipulation (CWE‑915).

Affected Systems

Any Node.js application that imports an Axios release older than 0.33.0 or 1.x older than 1.18.0 is affected. The issue is triggered through the Axios HTTP client in environments where other dependencies have previously polluted Object.prototype. Applications using these Axios versions on any platform running Node.js are susceptible.

Risk and Exploitability

The CVSS score of 6.3 indicates medium severity. Because the vulnerability only occurs when another component has already polluted Object.prototype, the likelihood of exploitation is restricted to environments combining Axios with vulnerable libraries. The flaw is not listed in the CISA KEV catalog, and the EPSS score of 0.00258 indicates a very low probability of exploitation. Attackers would need to establish prototype pollution in the same process before this behavior can be triggered.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade Axios to version 0.33.0 or newer, or to 1.18.0 or newer if using the 1.x series.
  • Review and update any other dependencies that may perform prototype pollution; ensure all libraries are patched or removed.
  • If an upgrade cannot occur immediately, clone nested Axios configuration objects (e.g., using Object.assign({}, obj)) or explicitly delete inherited properties before passing the config to Axios.

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

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Github GHSA Github GHSA GHSA-7q8q-rj6j-mhjq Axios: Nested axios option objects can consume polluted prototype values
History
Type Values Removed Values Added
Metrics cvssV3_1

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

cvssV3_1

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

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

None

cvssV3_1

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

threat_severity

Moderate

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 before 0.33.0 (and 1.x before 1.18.0) can consume inherited properties from nested request option objects when the JavaScript process's Object.prototype has already been polluted by another component. While the top-level merged config uses a null prototype, nested plain objects such as auth and paramsSerializer are cloned into ordinary objects and read without own-property checks. When an application passes placeholder nested objects such as auth: {} or paramsSerializer: {}, inherited username/password values can cause silent injection of an Authorization: Basic header, and inherited encode/serialize values can alter query-string serialization (full serializer replacement requires a function-valued pollution primitive). This is exploitable only in the presence of pre-existing prototype pollution.
Title axios before 0.33.0 Prototype Pollution via nested option objects
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:H/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:L/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:26 PM
Reserved
Jul 29, 2026, 1:07 PM
Status
Analyzed
Published
Aug 1, 2026, 1:17 PM
Modified
Sep 1, 2026, 3:39 PM
Severity
Moderate
Public date
Aug 1, 2026, 12:22 PM