Description (CNA)
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.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| axios / axios | affected 1.0.0 before 1.18.0; unaffected 1.18.0 |
| axios / axios | affected 0 before 0.33.0; unaffected 0.33.0 |
CWE
CWE-1321
References
- https://github.com/axios/axios/security/advisories/GHSA-mmx7-hfxf-jppx
- https://www.vulncheck.com/advisories/axios-before-prototype-pollution-via-bodyless-methods
ADP enrichment
No English description supplied.