Skip to main content
← All vulnerabilities
CVE-2026-44490GHSA-898C-Q2CR-XWHG

Axios: DoS & Header Injection via Prototype Pollution Read-Side Gadgets in axios merge functions

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 1.16.0, 0.32.0
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: poc
  • Automatable: no
  • Technical impact: partial

Summary

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.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: poc · Automatable: no · Technical impact: partial

  3. Record last updated

Affected versions

  • axios axios

    From 1.0.0 · fixed in 1.16.0; fixed in 0.32.0

  • axiosnpm

    From 1.0.0 · fixed in 1.16.0

  • axiosnpm

    fixed in 0.32.0

References 1

GitHub · axios/axios