Executive brief
Axios, a popular library for making web requests, is vulnerable to a flaw that allows an attacker to manipulate how the library sends data. If an attacker has already compromised the application's environment through a separate vulnerability, they can force Axios to send unauthorized data in request bodies or redirect traffic through a malicious server. This could lead to the exposure of sensitive information like login tokens or the corruption of data sent to other services.
Technical details
Axios is vulnerable to read-side prototype pollution gadgets in its request configuration logic. Specifically, bodyless method aliases (GET, DELETE, HEAD, OPTIONS) read inherited 'data' properties from Object.prototype before configuration normalization, allowing an attacker to inject request bodies. Additionally, low-level paths in the Node.js HTTP adapter and configuration helpers fail to use hasOwnProperty guards for 'proxy' and 'paramsSerializer' properties. If the global prototype is polluted, an attacker can redirect outbound traffic to a malicious proxy or execute arbitrary URL serialization logic. This requires a pre-existing prototype pollution vulnerability in the environment. Patches are available in versions 1.18.0 and 0.33.0.
Affected products
- Axios axios >= 1.0.0, < 1.18.0; < 0.33.0
Timeline
- 2026-07-06: disclosed: Initial disclosure on GitHub Advisory Database
- 2026-07-20: advisory: Advisory updated and published