Prototype Pollution In node-axios
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.
Mitigation
Update Impact
Minimal update. May introduce new vulnerabilities or breaking changes.
Ecosystem | Component | Affected version | Patched versions |
|---|---|---|---|
rpm rhel10 | - | - | |
rpm rhel8 | - | - | |
rpm rhel8 | - | - | |
npm | 1.18.0, 0.33.0 | ||
debian 13 | - | ||
debian 14 | 1.18.0-1 | ||
rpm rhel9 | - | - | |
rpm rhel10 | - | - | |
rpm rhel10 | - | - | |
rpm rhel9 | - | - |
1-10 of 12
10
Aliases
References