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.
Published: 2026-09-28
Score: 6.9 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Unauthorized state‑changing HTTP requests
Action: Apply Patch
AI Analysis

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.

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

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

Tue, 29 Sep 2026 13:15:00 +0000

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


Mon, 28 Sep 2026 20:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

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


Mon, 28 Sep 2026 19:30:00 +0000

Type Values Removed Values Added
First Time appeared Axios
Axios axios
Vendors & Products Axios
Axios axios

Mon, 28 Sep 2026 17:30:00 +0000

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


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-09-28T19:30:19.510Z

Reserved: 2026-09-28T15:55:37.907Z

Link: CVE-2026-101902

cve-icon Vulnrichment

Updated: 2026-09-28T19:29:55.724Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-09-28T18:17:18.397

Modified: 2026-09-30T19:38:27.293

Link: CVE-2026-101902

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-09-28T17:22:49Z

Links: CVE-2026-101902 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-09-30T05:00:13Z

Weaknesses
  • CWE-1321

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

  • CWE-454

    External Initialization of Trusted Variables or Data Stores