CVE-2026-101902

Axios: Prototype-Pollution Gadget in the Default Instance Allows Inherited Object.prototype.method to Override HTTP Method

Published Sep 28, 2026 CVSS 4.0 · 6.9 Medium EPSS < 1% KEV · Not listed
Description
Axios is a promise-based HTTP client for the browser and Node.js. From 0.27.2 until 0.34.0 and 1.20.0, Axios default-instance requests that omit an explicit method can read an inherited method value from Object.prototype. If another vulnerability in the same process pollutes Object.prototype.method, calls such as axios.request({ url }) and axios({ url }) can send a state-changing HTTP method instead of the expected default GET. Axios does not create the prototype pollution source. This is a read-side gadget in axios request dispatch. This issue is fixed in version 0.34.0 and 1.20.0.

Analysis

AI-generated

Technical impact

This vulnerability in Axios allows an attacker to override the default HTTP method of requests that omit an explicit method by exploiting Object.prototype.method pollution. When a previous flaw injects or modifies the inherited "method" property on Object.prototype, subsequent calls such as axios.request({ url }) and axios({ url }) will send the polluted method instead of the intended GET. This can cause unintended state changes on the target server, representing a significant risk to integrity and potentially confidentiality, as documented under CWE‑1321.

Affected Systems

Axios 0.27.2 through 0.34.0 and 1.20.0, used in both browser and Node.js environments, were affected. The issue was discovered in the default instance of the Axios client, which does not guard against inherited prototype properties on request dispatch.

Risk and Exploitability

The CVSS score of 6.9 indicates a moderate to high severity. The EPSS score of < 1% suggests a low likelihood of exploitation, and the vulnerability is not listed in CISA’s KEV catalog. The attack vector requires an attacker to first pollute Object.prototype in the same process, then trigger an Axios request without a specified method. If this sequence is achieved, the attacker can force any HTTP method – including unsafe ones such as PUT, DELETE, or PATCH – thereby enabling unauthorized state‑changing operations.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade Axios to version 0.34.0 or 1.20.0 where the prototype‑pollution gadget has been removed.
  • If an upgrade is not immediately possible, modify the code to always supply an explicit method when invoking axios requests rather than relying on the default instance without a method.
  • Implement runtime checks or a secure coding practice to prevent Object.prototype from being polluted, such as running application code under strict mode or within a sandboxed environment to contain prototype modifications.

Generated by OpenCVE AI on September 30, 2026 at 04:45 UTC.

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Github GHSA Github GHSA GHSA-9fr6-4gfg-395g Axios: Prototype-Pollution Gadget in the Default Instance Allows Inherited Object.prototype.method to Override HTTP Method
History
Type Values Removed Values Added
Weaknesses CWE-454
References
Metrics threat_severity

None

cvssV3_1

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

threat_severity

Moderate

Type Values Removed Values Added
Metrics ssvc

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

Type Values Removed Values Added
First Time appeared Axios
Axios axios
Vendors & Products Axios
Axios axios
Type Values Removed Values Added
Description Axios is a promise-based HTTP client for the browser and Node.js. From 0.27.2 until 0.34.0 and 1.20.0, Axios default-instance requests that omit an explicit method can read an inherited method value from Object.prototype. If another vulnerability in the same process pollutes Object.prototype.method, calls such as axios.request({ url }) and axios({ url }) can send a state-changing HTTP method instead of the expected default GET. Axios does not create the prototype pollution source. This is a read-side gadget in axios request dispatch. This issue is fixed in version 0.34.0 and 1.20.0.
Title Axios: Prototype-Pollution Gadget in the Default Instance Allows Inherited Object.prototype.method to Override HTTP Method
Weaknesses CWE-1321
References
Metrics cvssV4_0

{'score': 6.9, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:N/SC:N/SI:H/SA:N'}

Weaknesses
  • CWE-1321

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

  • CWE-454

    External Initialization of Trusted Variables or Data Stores

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Sep 28, 2026, 7:30 PM
Reserved
Sep 28, 2026, 3:55 PM
Status
Awaiting Analysis
Published
Sep 28, 2026, 6:17 PM
Modified
Sep 30, 2026, 7:38 PM
Severity
Moderate
Public date
Sep 28, 2026, 5:22 PM