Skip to main content

Axios CVE-2026-42044

| EUVDEUVD-2026-25609 CRITICAL
Improperly Controlled Modification of Dynamically-Determined Object Attributes (CWE-915)
2026-04-24 GitHub_M GHSA-3w6x-2g7m-8v23
9.1
CVSS 3.1 · NVD
Share

Severity by source

NVD PRIMARY
9.1 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
vuln.today AI
7.4 HIGH

AC:H because the gadget is only reachable given a pre-existing prototype-pollution primitive; PR:N/UI:N as no auth or interaction is needed thereafter; C:H/I:H for full response read/tamper, A:N as availability is unaffected.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
4.0 AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
Red Hat
7.4 HIGH
qualitative

Primary rating from NVD.

CVSS VectorNVD

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
None

Lifecycle Timeline

14
Analysis Updated
Jun 30, 2026 - 03:46 vuln.today
v5 (cvss_changed)
Analysis Updated
Jun 30, 2026 - 03:44 vuln.today
v4 (cvss_changed)
Analysis Updated
Jun 30, 2026 - 03:44 vuln.today
v3 (cvss_changed)
Source Code Evidence Fetched
Jun 30, 2026 - 03:44 vuln.today
Analysis Updated
Jun 30, 2026 - 03:44 vuln.today
v2 (cvss_changed)
Re-analysis Queued
Jun 30, 2026 - 03:24 vuln.today
cvss_changed
Severity Changed
Jun 30, 2026 - 03:24 NVD
MEDIUM CRITICAL
CVSS changed
Jun 30, 2026 - 03:24 NVD
6.5 (MEDIUM) 9.1 (CRITICAL)
Patch released
Apr 27, 2026 - 20:04 nvd
Patch available
Patch available
Apr 24, 2026 - 20:17 EUVD
Analysis Generated
Apr 24, 2026 - 18:46 vuln.today
EUVD ID Assigned
Apr 24, 2026 - 18:15 euvd
EUVD-2026-25609
Analysis Generated
Apr 24, 2026 - 18:15 vuln.today
CVE Published
Apr 24, 2026 - 17:49 nvd
MEDIUM 6.5

Blast Radius

ecosystem impact
† from your stack dependencies † transitive graph · vuln.today resolves 4-path depth
  • 273 npm packages depend on axios (189 direct, 84 indirect)

Ecosystem-wide dependent count for version 1.0.0.

DescriptionNVD

Axios is a promise based HTTP client for the browser and Node.js. From 1.0.0 to before 1.15.2, he Axios library is vulnerable to a Prototype Pollution "Gadget" attack that allows any Object.prototype pollution in the application's dependency tree to be escalated into surgical, invisible modification of all JSON API responses - including privilege escalation, balance manipulation, and authorization bypass. The default transformResponse function at lib/defaults/index.js:124 calls JSON.parse(data, this.parseReviver), where this is the merged config object. Because parseReviver is not present in Axios defaults, not validated by assertOptions, and not subject to any constraints, a polluted Object.prototype.parseReviver function is called for every key-value pair in every JSON response, allowing the attacker to selectively modify individual values while leaving the rest of the response intact. This vulnerability is fixed in 1.15.2.

AnalysisAI

JSON response tampering in the Axios HTTP client (versions 1.0.0 up to but not including 1.15.2) lets an attacker who can already pollute Object.prototype in a Node.js or browser application escalate that primitive into surgical, invisible rewriting of every parsed JSON API response, enabling privilege escalation, balance manipulation, and authorization bypass. The default transformResponse passes a prototype-inherited parseReviver to JSON.parse, so a planted Object.prototype.parseReviver runs against every key-value pair of every response. Publicly available exploit code exists (a PoC gist), though EPSS is very low (0.03%, 8th percentile) and the issue is not in CISA KEV.

Technical ContextAI

Axios is a promise-based HTTP client used pervasively across the Node.js and browser JavaScript ecosystem. The root cause is CWE-915 (Improperly Controlled Modification of Dynamically-Determined Object Attributes), with the GHSA advisory also citing CWE-1321 (Prototype Pollution). The default transformResponse at lib/defaults/index.js:124 invokes JSON.parse(data, this.parseReviver), where this is the merged request config. Because parseReviver has no Axios default, is not validated by assertOptions, and is unconstrained, a polluted Object.prototype.parseReviver is silently inherited and invoked as the JSON reviver for every property of every JSON response. Unlike the older transformResponse gadget, the reviver has no 'must return true' constraint, can return arbitrary values for individual keys, sees original values before modifying them (enabling exfiltration), and leaves overall response structure intact. The single affected CPE is cpe:2.3:a:axios:axios:*:*:*:*:*:*:*:* across the 1.0.0-1.15.2 range.

RemediationAI

Vendor-released patch: upgrade axios to 1.15.2 or later, which removes the prototype-inherited reviver behavior; this is the primary and complete fix (https://github.com/axios/axios/security/advisories/GHSA-3w6x-2g7m-8v23). Red Hat consumers should apply the corresponding RHSA errata (e.g., https://access.redhat.com/errata/RHSA-2026:16534). Because the gadget is only reachable through a pre-existing prototype-pollution sink, an effective compensating control where immediate upgrade is impossible is to harden Object.prototype itself - freeze it at startup with Object.freeze(Object.prototype), which blocks the parseReviver pollution but can break libraries that legitimately extend prototypes, so test thoroughly. Auditing and patching dependencies for prototype-pollution sinks (the actual entry point) and explicitly setting parseReviver to undefined/a safe value on Axios configs are additional defenses; note that explicit config overrides only protect requests that pass through that config. Prefer the version upgrade, as workarounds leave the underlying gadget present.

CVE-2024-55591 CRITICAL POC
9.8 Jan 14

FortiOS and FortiProxy contain an authentication bypass via the Node.js websocket module allowing unauthenticated remote

CVE-2014-7205 CRITICAL POC
10.0 Oct 08

Eval injection vulnerability in the internals.batch function in lib/batch.js in the bassmaster plugin before 1.5.2 for t

CVE-2025-59528 CRITICAL POC
10.0 Sep 22

Flowise version 3.0.5 contains a remote code execution vulnerability in the CustomMCP node. The mcpServerConfig paramete

CVE-2017-14849 HIGH POC
7.5 Sep 28

Node.js 8.5.0 before 8.6.0 allows remote attackers to access unintended files, because a change to ".." handling was inc

CVE-2017-5941 CRITICAL POC
9.8 Feb 09

An issue was discovered in the node-serialize package 0.0.4 for Node.js. Rated critical severity (CVSS 9.8), this vulner

CVE-2014-3744 HIGH POC
7.5 Oct 23

Directory traversal vulnerability in the st module before 0.2.5 for Node.js allows remote attackers to read arbitrary fi

CVE-2014-9566 HIGH POC
7.5 Mar 10

Multiple SQL injection vulnerabilities in the Manage Accounts page in the AccountManagement.asmx service in the Solarwin

CVE-2013-4660 MEDIUM POC
6.8 Jun 28

The JS-YAML module before 2.0.5 for Node.js parses input without properly considering the unsafe !!js/function tag, whic

CVE-2015-5688 MEDIUM POC
5.0 Sep 04

Directory traversal vulnerability in lib/app/index.js in Geddy before 13.0.8 for Node.js allows remote attackers to read

CVE-2026-45321 CRITICAL POC
9.6 May 12

Credential-harvesting malware compromised 84 versions of 42 TanStack npm packages on 2026-05-11 via chained GitHub Actio

CVE-2014-7192 CRITICAL POC
10.0 Dec 11

Eval injection vulnerability in index.js in the syntax-error package before 1.1.1 for Node.js 0.10.x, as used in IBM Rat

CVE-2013-4450 MEDIUM POC
5.0 Oct 21

The HTTP server in Node.js 0.10.x before 0.10.21 and 0.8.x before 0.8.26 allows remote attackers to cause a denial of se

Vendor StatusVendor

Share

CVE-2026-42044 vulnerability details – vuln.today

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