Skip to main content

Axios EUVDEUVD-2026-88371

| CVE-2026-101902 MEDIUM
Improperly Controlled Modification of Object Prototype Attributes (Prototype Pollution) (CWE-1321)
2026-09-28 GitHub_M GHSA-9fr6-4gfg-395g
6.9
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Exploit separate prototype-pollution flaw in process
  2. Delivery
    Set Object.prototype.method to state-changing verb
  3. Exploit
    App issues axios({ url }) with no explicit method
  4. Execution
    Axios reads inherited method from prototype
  5. Impact
    Sends unexpected state-changing HTTP request

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V3 - Web Frontend Security Prototype pollution prevention
MITRE ATT&CK

2 techniques across 2 tactics: Execution, Initial Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation is only possible when THREE conditions coincide: (1) the application uses the Axios default instance and issues requests that OMIT an explicit method - e.g. axios({ url }) or axios.request({ url }) - so the method falls back to a default; (2) a SEPARATE prototype-pollution vulnerability exists elsewhere in the same Node.js process and has planted a value on Object.prototype.method; and (3) the Axios version is in the affected range (0.27.2 to <0.34.0, or 1.0.0 to <1.20.0). Axios itself does not create the pollution source, so this gadget is completely inert without the chained pollution primitive - that dependency is the primary limiting factor and the reason the AT:P (attack-requirement) flag is set. Calls that pass an explicit method are unaffected.

Impact

The vendor CVSS 4.0 vector (AV:N/AC:L/AT:P/PR:N/UI:N) with SI:H as the only non-zero impact frames this as a network-reachable, unauthenticated integrity issue, scoring 6.9. That score materially overstates standalone risk: the AT:P (Attack Requirements: Present) flag and the description itself make clear this is a READ-SIDE GADGET, not a self-contained vulnerability. Axios does not create the prototype-pollution source - exploitation is inert unless a SEPARATE flaw in the same Node.js process already pollutes Object.prototype.method. My independent assessment therefore rates attack complexity as high (AC:H), which no raw signal in the input captures. No EPSS score, no CISA KEV listing, and no public POC are provided, so all exploitation-likelihood signals are absent or neutral. This is a defense-in-depth hardening fix in an ubiquitous library rather than a directly actionable high-priority vulnerability: real priority is LOW-to-MEDIUM, driven almost entirely by Axios's enormous deployment footprint, not by standalone exploitability. Note the tag 'Information Disclosure' conflicts with the vector, which encodes integrity (SI:H, all confidentiality metrics N) - the impact is method substitution, not data leakage.

Exploit ScenarioDerived

In a Node.js service that already contains a prototype-pollution vulnerability, an attacker pollutes Object.prototype.method with a state-changing verb (e.g. DELETE or POST). A subsequent default-instance call such as axios.request({ url }) or axios({ url }), which omits an explicit method and would normally default to GET, instead inherits the polluted value and dispatches the unexpected verb - potentially converting a benign read into a state-changing operation against the target. No public exploit code is identified for this gadget in isolation, and it cannot be triggered without the separate pollution primitive.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 28, 2026

Axios versions 0.27.2 through below 0.34.0, and 1.0.0 through below 1.20.0, can silently upgrade an intended GET into a state-changing HTTP method when a request is sent through the default instance without an explicit method. The flaw is a read-side gadget, not a pollution source: calls such as axios({ url }) or axios.request({ url }) omit a method, so dispatch looks up the method on the prototype chain and honours an Object.prototype.method value planted by an unrelated prototype-pollution vulnerability in the same process. Because a separate pollution primitive must already exist, this is only exploitable as part of a chain, which is why the vendor CVSS 4.0 vector carries AT:P; no public exploit code was identified at time of analysis and the issue is not listed in CISA KEV. The vendor scores it 6.9 (AV:N/AC:L/AT:P/PR:N/UI:N, SI:H only), while our independent assessment rates it CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N, treating the unauthenticated network-reachable integrity impact as high but gated on the pollution prerequisite.

RemediationAI

Vendor-released patch: upgrade to axios 0.34.0 (for the 0.x line) or 1.20.0 (for the 1.x line) as documented in GHSA-9fr6-4gfg-395g and the release tags v0.34.0 and v1.20.0; the hardening itself is in PR 11141 and commit d19040bda7a8be2f82c3c6e1a5bc03917daee39a. Because the gadget is inert without a pollution source, the highest-value compensating control is to close the upstream prototype-pollution vulnerability in the same process and to reject attacker-controlled keys such as __proto__, constructor and prototype in any JSON or query-string merge path, with the trade-off that this requires auditing all dependencies and may break libraries that rely on loose recursive merges. Where an immediate upgrade is not possible, review every axios call site that omits method on the default instance and convert it to an explicit axios.get(...) or axios({ url, method: 'get' }) form; an own method property shadows the inherited one and neutralises the gadget, at the cost of a code-wide refactor and the risk of missing dynamically constructed configs. Preferring dedicated axios.create({ method: 'get' }) instances or configs built with Object.create(null) also removes prototype-chain lookups as a side benefit of stricter config isolation, though it can surface latent assumptions in custom adapters and interceptors. Freezing Object.prototype or installing a server-side prototype-pollution guard (for example running Node.js with --frozen-intrinsics or a runtime that blocks Object.prototype writes) fails closed against this class of gadget but may break frameworks that legitimately extend built-in prototypes, so test thoroughly before enabling it in production. Note the fix PR also changes interceptor semantics so that frozen, sealed, accessor-based or unsafe-key-bearing config replacements are converted to writable null-prototype snapshots; teams with interceptors that mutate or reuse config objects should validate that behaviour in a staging environment before rollout.

Affected VersionsENISA

axios 0.27.2, < 0.34.0
axios 1.0.0, < 1.20.0

Affected Packages

npm axios fix: 0.34.0, 1.20.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in npm

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Axios is a promise-based HTTP client used in both Node.js and browsers, and this defect sits in its request-configuration and dispatch logic. CWE-1321 (improperly controlled modification of object prototype attributes, i.e. prototype pollution) describes the root-cause class, but here axios is the consumer rather than the producer: it reads a value that has leaked onto Object.prototype through JavaScript's inheritance chain. When a caller omits method, axios does not treat the absence as an unconditional default of GET; if some other library or input-handling flaw has written Object.prototype.method (for example "POST", "DELETE", or "PUT"), that inherited value surfaces during config resolution and reaches the adapter as the outbound verb. The upstream fix in PR 11141 and the v0.34.0/v1.20.0 releases hardens configuration merging and interceptor replacement across multiple realms: values inherited only from a shared Object.prototype are ignored even if that prototype's constructor is altered, deleted, or replaced; own request-config fields are preserved except the unsafe materialization keys __proto__ , constructor and prototype, which are always excluded; and merged configs are materialised as null-prototype snapshots so no inherited key can influence methods, headers, adapters, transports, FormData hooks, serializer options, or Fetch Request options. Terminal null-prototype ancestors are treated as shared boundaries that fail closed. In practical terms the vulnerable code path is narrow and deterministic: default instance plus omitted method plus a polluted Object.prototype.method, whereas any call supplying an explicit method is unaffected because an own property shadows the inherited one.

Know when Axios gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 6.9 MEDIUM
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
vuln.today AI 5.9 MEDIUM

AC:H because exploitation requires a separate prototype-pollution primitive already present in the process; integrity-only (I:H) via unexpected state-changing method, with no confidentiality or availability impact.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N
4.0 AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
SUSE 3.7 HIGH
AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N
Red Hat 5.9 MEDIUM

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
High
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Sep 28, 2026 - 18:01 EUVD
CVE Published
Sep 28, 2026 - 17:22 cve.org
MEDIUM 6.9

DescriptionCVE.org

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.

Blast Radius

ecosystem impact
† from your stack dependencies † transitive graph · vuln.today resolves 4-path depth
  • 44,360 npm packages depend on axios (12,324 direct, 32,373 indirect)

Ecosystem-wide dependent count for version 0.27.2.

Threat Intelligence Overview

EPSS Score
0.4%
Top 67% exploitable
Prevalence
Ubiquitous
Axios is among the most widely used npm HTTP clients in Node.js/browser apps
Threat Intel
1
1 sources
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA MSRC Vendor GitHub

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
Yes
Human Impact· derived
High
Technical Impact
Partial

Priority Score

34
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +34
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

More in Axios

View all
CVE-2026-42043 CRITICAL POC
10.0 Apr 24

NO_PROXY protection bypass in Axios HTTP client (versions 1.0.0-1.15.0 and ≤0.31.0) lets an attacker who controls a requ

CVE-2026-42044 CRITICAL POC
9.1 Apr 24

JSON response tampering in the Axios HTTP client (versions 1.0.0 up to but not including 1.15.2) lets an attacker who ca

CVE-2026-67320 HIGH POC
8.3 Aug 01

Prototype pollution via the Node.js HTTP adapter in axios allows an attacker who controls `Object.prototype.proxy` to si

CVE-2025-27152 HIGH POC
7.7 Mar 07

axios is a promise based HTTP client for the browser and node.js. Rated high severity (CVSS 7.7), this vulnerability is

CVE-2025-58754 HIGH POC
7.5 Sep 12

Axios is a promise based HTTP client for the browser and Node.js. Rated high severity (CVSS 7.5), this vulnerability is

CVE-2026-25639 HIGH POC
7.5 Feb 09

Axios versions up to 0.30.3 is affected by improper check for unusual or exceptional conditions (CVSS 7.5).

CVE-2024-39338 HIGH POC
7.5 Aug 12

axios 1.7.2 allows SSRF via unexpected behavior where requests for path relative URLs get processed as protocol relative

CVE-2021-3749 HIGH POC
7.5 Aug 31

axios is vulnerable to Inefficient Regular Expression Complexity. Rated high severity (CVSS 7.5), this vulnerability is

CVE-2019-10742 HIGH POC
7.5 May 07

Axios up to and including 0.18.0 allows attackers to cause a denial of service (application crash) by continuing to acce

CVE-2026-42033 HIGH POC
7.4 Apr 24

Prototype pollution in Axios HTTP client versions before 1.15.1 and 0.31.1 enables silent interception and modification

CVE-2026-42039 MEDIUM POC
6.9 Apr 24

Denial of service in Axios HTTP client before versions 1.15.1 and 0.31.1 allows remote unauthenticated attackers to cras

CVE-2026-42041 MEDIUM POC
6.5 Apr 24

Prototype pollution in Axios library versions prior to 1.15.1 and 0.31.1 allows remote attackers to suppress HTTP error

Vendor StatusVendor

SUSE

Severity: Important
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise High Performance Computing 12 Not-Affected
SUSE Linux Enterprise Micro 5.3 Not-Affected
SUSE Linux Enterprise Micro 5.4 Not-Affected
SUSE Linux Enterprise Micro 5.5 Not-Affected

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy