Description
Axios is a promise based HTTP client for the browser and Node.js. Prior to 0.32.0 and 1.16.0, axios exposes two read-side prototype-pollution gadgets. When Object.prototype is polluted by an upstream dependency in the same process (e.g. lodash _.merge / CVE-2018-16487), axios silently picks up the polluted values. (1) lib/utils.js line 406 builds merge()'s accumulator as result = {}, so result[targetKey] (line 414) walks Object.prototype and the polluted bucket's own keys are copied into the merged headers and ride out on the wire. (2) lib/core/mergeConfig.js line 26 builds the hasOwnProperty descriptor as a plain-object literal. Object.defineProperty reads descriptor.get/descriptor.set via the prototype chain, so a polluted Object.prototype.get or Object.prototype.set makes the call throw TypeError synchronously on every axios request. This vulnerability is fixed in 0.32.0 and 1.16.0.
Remediation
References
Related Vulnerabilities
Jboss EAP CVE-2024-7885 Vulnerability (CVE-2024-7885)
Apache HTTP Server CVE-2013-1896 Vulnerability (CVE-2013-1896)
WordPress Plugin Easy Team Manager SQL Injection (1.3.2)
SharePoint CVE-2025-21393 Vulnerability (CVE-2025-21393)
WordPress Plugin Slideshow Gallery 2 'border' Parameter Cross-Site Scripting (1.1.4)