Impact
axios merges request configurations by creating a null‑prototype object to harden against prototype pollution, but after the merge request interceptors run and re‑duplicate the config. This conversion restores Object.prototype during the interceptors, negating the hardening step and allowing an attacker to pollute Object.prototype.proxy. Once polluted, axios’s HTTP adapter reads config.proxy via the prototype chain, routing outgoing requests through the attacker‑controlled proxy. The proxy can inspect headers, Basic credentials, the HTTP method, full URL, Host header, and request body, and can return arbitrary responses. The flaw does not affect browsers or HTTPS header/body integrity under normal TLS validation, but it enables plaintext traffic capture and request manipulation.
Affected Systems
The issue impacts the axios library in Node.js deployments that use the HTTP adapter. Affected axios versions are those starting at 0.31.1 and older than 0.33.0, and starting at 1.15.2 and older than 1.18.0. Any application importing or requiring these axios versions is at risk if it performs HTTP requests through axios.
Risk and Exploitability
The CVSS score of 8.3 indicates high severity, but the EPSS score is < 1%, indicating a very low exploitation probability. The vulnerability is not listed in CISA KEV. Based on the description, it is inferred that an attacker who can influence Object.prototype or supply request configuration for axios can exploit this flaw to route requests through a malicious proxy, potentially harvesting credentials and other sensitive information. The attack requires ability to inject or modify JavaScript objects in the Node.js environment or to supply malicious request parameters that trigger a coincidental proxy polluter. While the issue does not directly lead to code execution, the data exposure and request diversion can have serious downstream consequences for application security.
OpenCVE Enrichment