<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Axios — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/vendors/axios/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata. Fed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Fri, 29 May 2026 16:05:24 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/vendors/axios/feed.xml" rel="self" type="application/rss+xml"/><item><title>Axios Prototype Pollution Leads to Man-in-the-Middle Vulnerability</title><link>https://feed.craftedsignal.io/briefs/2026-05-axios-prototype-pollution-mitm/</link><pubDate>Fri, 29 May 2026 16:05:24 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-05-axios-prototype-pollution-mitm/</guid><description>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.</description><content:encoded><![CDATA[<p>The 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 <code>Object.prototype.proxy</code> 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 <code>proxy</code> property is not defined in Axios&rsquo; default configuration, causing the library to traverse the prototype chain when resolving the <code>config.proxy</code> value. This allows an attacker to inject a malicious proxy configuration, leading to the MITM attack. All versions of Axios are affected.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker identifies a prototype pollution vulnerability in a separate library (e.g., <code>qs</code>, <code>minimist</code>, <code>lodash</code>, <code>body-parser</code>) used by the application.</li>
<li>The attacker exploits this vulnerability to inject a malicious proxy configuration into <code>Object.prototype.proxy</code>, specifying the attacker&rsquo;s proxy server address and port.</li>
<li>The application makes an HTTP request using Axios, without explicitly configuring a proxy.</li>
<li>Axios&rsquo; HTTP adapter at <code>lib/adapters/http.js</code> attempts to resolve the <code>config.proxy</code> value.</li>
<li>Due to the absence of a <code>proxy</code> property in Axios&rsquo; default configuration, JavaScript traverses the prototype chain and finds the polluted <code>Object.prototype.proxy</code> value.</li>
<li>The <code>setProxy()</code> function uses the malicious proxy configuration to route the HTTP request through the attacker&rsquo;s proxy server.</li>
<li>The attacker intercepts the request, gaining access to all request headers, including sensitive information like <code>Authorization</code> tokens.</li>
<li>The attacker can modify the request or response before forwarding it to the intended destination, completing the MITM attack.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful 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 <code>Authorization</code> 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.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Apply mitigations to prevent prototype pollution in your application&rsquo;s dependencies to prevent this issue from being exploitable (CWE-1321).</li>
<li>Deploy the Sigma rule to detect prototype pollution attempts by monitoring <code>Object.prototype</code> property modifications (see below).</li>
<li>Update to a patched version of Axios when one becomes available with a fix addressing <code>hasOwnProperty</code> checks or null-prototype object usage for merged configurations.</li>
<li>As a temporary measure, if possible, ensure the <code>proxy</code> configuration is explicitly set in Axios configurations to prevent prototype traversal.</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>prototype-pollution</category><category>mitm</category><category>axios</category><category>javascript</category></item></channel></rss>