{"description":"Trending threats, MITRE ATT\u0026CK coverage, and detection metadata. Fed continuously.","feed_url":"https://feed.craftedsignal.io/vendors/axios/feed.json","home_page_url":"https://feed.craftedsignal.io/","items":[{"_cs_actors":[],"_cs_cpes":[],"_cs_cves":[],"_cs_exploited":false,"_cs_has_poc":false,"_cs_poc_references":[],"_cs_products":["axios"],"_cs_severities":["critical"],"_cs_tags":["prototype-pollution","mitm","axios","javascript"],"_cs_type":"advisory","_cs_vendors":["axios"],"content_html":"\u003cp\u003eThe Axios library is vulnerable to a critical Prototype Pollution attack that allows an attacker to achieve a full Man-in-the-Middle (MITM) position. By polluting the \u003ccode\u003eObject.prototype.proxy\u003c/code\u003e property, an attacker can force Axios to route all HTTP requests through an attacker-controlled proxy server, enabling the interception, reading, and modification of all HTTP traffic, including sensitive information like authentication credentials. This vulnerability exists because the \u003ccode\u003eproxy\u003c/code\u003e property is not defined in Axios\u0026rsquo; default configuration, causing the library to traverse the prototype chain when resolving the \u003ccode\u003econfig.proxy\u003c/code\u003e value. This allows an attacker to inject a malicious proxy configuration, leading to the MITM attack. All versions of Axios are affected.\u003c/p\u003e\n\u003ch2 id=\"attack-chain\"\u003eAttack Chain\u003c/h2\u003e\n\u003col\u003e\n\u003cli\u003eAn attacker identifies a prototype pollution vulnerability in a separate library (e.g., \u003ccode\u003eqs\u003c/code\u003e, \u003ccode\u003eminimist\u003c/code\u003e, \u003ccode\u003elodash\u003c/code\u003e, \u003ccode\u003ebody-parser\u003c/code\u003e) used by the application.\u003c/li\u003e\n\u003cli\u003eThe attacker exploits this vulnerability to inject a malicious proxy configuration into \u003ccode\u003eObject.prototype.proxy\u003c/code\u003e, specifying the attacker\u0026rsquo;s proxy server address and port.\u003c/li\u003e\n\u003cli\u003eThe application makes an HTTP request using Axios, without explicitly configuring a proxy.\u003c/li\u003e\n\u003cli\u003eAxios\u0026rsquo; HTTP adapter at \u003ccode\u003elib/adapters/http.js\u003c/code\u003e attempts to resolve the \u003ccode\u003econfig.proxy\u003c/code\u003e value.\u003c/li\u003e\n\u003cli\u003eDue to the absence of a \u003ccode\u003eproxy\u003c/code\u003e property in Axios\u0026rsquo; default configuration, JavaScript traverses the prototype chain and finds the polluted \u003ccode\u003eObject.prototype.proxy\u003c/code\u003e value.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003esetProxy()\u003c/code\u003e function uses the malicious proxy configuration to route the HTTP request through the attacker\u0026rsquo;s proxy server.\u003c/li\u003e\n\u003cli\u003eThe attacker intercepts the request, gaining access to all request headers, including sensitive information like \u003ccode\u003eAuthorization\u003c/code\u003e tokens.\u003c/li\u003e\n\u003cli\u003eThe attacker can modify the request or response before forwarding it to the intended destination, completing the MITM attack.\u003c/li\u003e\n\u003c/ol\u003e\n\u003ch2 id=\"impact\"\u003eImpact\u003c/h2\u003e\n\u003cp\u003eSuccessful exploitation of this vulnerability allows an attacker to intercept all HTTP traffic generated by the Axios library within an application. This includes sensitive information such as \u003ccode\u003eAuthorization\u003c/code\u003e headers containing credentials, cookies, API keys, and request bodies. The attacker can also modify responses, inject malicious data, and redirect authentication flows. The attack is invisible to the developer, as requests appear to complete normally with attacker-controlled responses. This could lead to complete compromise of application data, including internal API keys, session tokens, and user passwords.\u003c/p\u003e\n\u003ch2 id=\"recommendation\"\u003eRecommendation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eApply mitigations to prevent prototype pollution in your application\u0026rsquo;s dependencies to prevent this issue from being exploitable (CWE-1321).\u003c/li\u003e\n\u003cli\u003eDeploy the Sigma rule to detect prototype pollution attempts by monitoring \u003ccode\u003eObject.prototype\u003c/code\u003e property modifications (see below).\u003c/li\u003e\n\u003cli\u003eUpdate to a patched version of Axios when one becomes available with a fix addressing \u003ccode\u003ehasOwnProperty\u003c/code\u003e checks or null-prototype object usage for merged configurations.\u003c/li\u003e\n\u003cli\u003eAs a temporary measure, if possible, ensure the \u003ccode\u003eproxy\u003c/code\u003e configuration is explicitly set in Axios configurations to prevent prototype traversal.\u003c/li\u003e\n\u003c/ul\u003e\n","date_modified":"2026-05-29T16:05:24Z","date_published":"2026-05-29T16:05:24Z","id":"https://feed.craftedsignal.io/briefs/2026-05-axios-prototype-pollution-mitm/","summary":"Axios is vulnerable to a Prototype Pollution attack that can be escalated into a full Man-in-the-Middle (MITM) attack by injecting a malicious proxy configuration via `Object.prototype.proxy`, allowing attackers to intercept, read, and modify all HTTP traffic, including authentication credentials.","title":"Axios Prototype Pollution Leads to Man-in-the-Middle Vulnerability","url":"https://feed.craftedsignal.io/briefs/2026-05-axios-prototype-pollution-mitm/"}],"language":"en","title":"CraftedSignal Threat Feed — Axios","version":"https://jsonfeed.org/version/1.1"}