ZeroHour

CVE-2026-67316

PoC mass

Read-side prototype pollution gadget in axios alters outgoing HTTP requests

CVSS 4.0
6.3 medium
EPSS
<1%p29
Published
()
Modified
AI analysis

axios, a widely used JavaScript HTTP client, contains read-side prototype-pollution gadgets that alter how requests are constructed when Object.prototype has already been polluted by a separate vulnerability or dependency. Through the bodyless method aliases (axios.get(), axios.delete(), axios.head(), axios.options()), inherited 'data' is read via (config || {}).data before config normalization, allowing an attacker-controlled body to be attached to requests that did not set one; additionally, low-level exported adapters/helpers (lib/adapters/http.js, unsafe/helpers/resolveConfig.js) called directly with plain configs and no own proxy or paramsSerializer can inherit polluted proxy values (routing traffic through an attacker-controlled proxy) or paramsSerializer values (attacker-controlled URL serialization). Successful exploitation yields low integrity impact only, per the CVSS 4.0 score of 6.3: modified request bodies, proxy routing, or URL serialization, with no confidentiality or availability impact. Applications depending on axios before 1.18.0 (or before 0.33.0 on the 0.x line) are potentially affected, though real-world exploitation requires chaining a second prototype-pollution bug, and the low-level gadgets do not reproduce through normal high-level calls on 1.15.2+. No in-the-wild exploitation is known: the issue has one public advisory/PoC (GHSA-mmx7-hfxf-jppx), a 0.4% EPSS probability, and is not in CISA KEV.

What to do: Upgrade to axios 1.18.0, or to 0.33.0 if you are pinned to the 0.x line. Because exploitation depends on Object.prototype being polluted by another component, audit your dependency tree for prototype-pollution vulnerabilities (CWE-1321) and remediate those as well, and avoid calling exported low-level adapters/helpers directly with untrusted plain configs lacking their own proxy and paramsSerializer.

Affected
axios1.x prior to 1.18.0; 0.x prior to 0.33.0 (fixed in 1.18.0 and 0.33.0)
Estimated exposure
masstens of millions of dependent Node.js/browser projects (axios is a near-ubiquitous npm dependency with tens of millions of weekly downloads) — axios is one of the most-downloaded and most-depended-upon packages on npm and is widely bundled in frontend and backend JavaScript applications, so the installed base far exceeds 1M users, though actual exploitability additionally…

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description

axios is vulnerable to read-side prototype-pollution gadgets that can alter request construction when Object.prototype has already been polluted by a separate vulnerability or dependency. In the bodyless method aliases (axios.get(), axios.delete(), axios.head(), axios.options()), inherited data is read via (config || {}).data before config normalization, causing an attacker-controlled body to be sent on requests that did not set one. Additional low-level paths, only reachable when calling exported adapters/helpers (e.g. lib/adapters/http.js, unsafe/helpers/resolveConfig.js) directly with plain configs and no own proxy or paramsSerializer, can inherit polluted proxy values (routing requests through an attacker-controlled proxy) or paramsSerializer values (attacker-controlled URL serialization). These low-level gadgets do not reproduce through normal high-level axios calls on 1.15.2+. The issue is fixed in axios 1.18.0 and 0.33.0.

Vendors
axios
Products
axios
Weakness
CWE-1321
Vector
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X

In the news

No ingested article mentions this CVE yet.