CVE-2026-101905: Axios: Node HTTP adapter prototype-pollution gadget allows request socket hijack via inherited createConnection
Axios’ Node HTTP adapter can act as a read-side prototype-pollution gadget for Node’s sensitive createConnection request option. The adapter creates a null-prototype options object, but Node’s HTTP client can copy or normalize request options into ordinary objects before connection creation. If Object.prototype.createConnection has been polluted elsewhere in the same process, Node can call the inherited function and create a socket to an attacker-controlled endpoint.
Axios does not create the prototype pollution source. The vulnerability is that axios does not set an own safe value for a sensitive transport option before handing options to Node.
Axios’ Node HTTP adapter remains exploitable as a read-side prototype-pollution gadget after the recent null-prototype hardening. This is not a claim that axios creates the prototype pollution source. The precondition is a separate upstream prototype pollution primitive in the same Node.js process.
When Object.prototype.createConnection is polluted, axios requests can be redirected to an attacker-controlled socket even though the adapter builds the request options with Object.create(null). The request URL and axios config still appear to target the legitimate host, but the actual socket is attacker-controlled.
This allows credential exfiltration and response manipulation for later axios HTTP requests in a polluted process.
References
Code Behaviors & Features
Detect and mitigate CVE-2026-101905 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →