Skip to main content

Boteraser | Website and Server Security Solutions

🛡️ CVE-2026-25639 — axios

🟠 CVSS 8.0 — High ⚠️ Exploit Public CWE-1321 OSV
8.0
CVSS Score
0 Low4 Medium7 High9 Critical10

Description

Axios is Vulnerable to Denial of Service via __proto__ Key in mergeConfig

# Denial of Service via proto Key in mergeConfig

Summary

The mergeConfig function in axios crashes with a TypeError when processing configuration objects containing __proto__ as an own property. An attacker can trigger this by providing a malicious configuration object created via JSON.parse(), causing complete denial of service.

Details

The vulnerability exists in lib/core/mergeConfig.js at lines 98-101:

```javascript

utils.forEach(Object.keys({ ...config1, ...config2 }), function computeConfigValue(prop) {

const merge = mergeMap[prop] || mergeDeepProperties;

const configValue = merge(config1[prop], config2[prop], prop);

(utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);

});

```

When prop is '__proto__':

1. JSON.parse('{"__proto__": {...}}') creates an object with __proto__ as an own enumerable property

2. Object.keys() includes '__proto__' in the iteration

3. mergeMap['__proto__'] performs prototype chain lookup, returning Object.prototype (truthy object)

4. The expression mergeMap[prop] || mergeDeepProperties evaluates to Object.prototype

5. Object.prototype(...) throws TypeError: merge is not a function

The mergeConfig function is called by:

  • Axios._request() at lib/core/Axios.js:75
  • Axios.getUri() at lib/core/Axios.js:201
  • All HTTP method shortcuts (get, post, etc.) at lib/core/Axios.js:211,224

PoC

```javascript

import axios from "axios";

const maliciousConfig = JSON.parse('{"__proto__": {"x": 1}}');

await axios.get("https://httpbin.org/get", maliciousConfig);

```

Reproduction steps:

1. Clone axios repository or npm install axios

2. Create file poc.mjs with the code above

3. Run: node poc.mjs

4. Observe the TypeError crash

Verified output (axios 1.13.4):

```

TypeError: merge is not a function

at computeConfigValue (lib/core/mergeConfig.js:100:25)

at Object.forEach (lib/utils.js:280:10)

at mergeConfig (lib/core/mergeConfig.js:98:9)

```

Control tests performed:

| Test | Config | Result |

|------|--------|--------|

| Normal config | {"timeout": 5000} | SUCCESS |

| Malicious config | JSON.parse('{"__proto__": {"x": 1}}') | CRASH |

| Nested object | {"headers": {"X-Test": "value"}} | SUCCESS |

Attack scenario:

An application that accepts user input, parses it with JSON.parse(), and passes it to axios configuration will crash when receiving the payload {"__proto__": {"x": 1}}.

Impact

Denial of Service - Any application using axios that processes user-controlled JSON and passes it to axios configuration methods is vulnerable. The application will crash when processing the malicious payload.

Affected environments:

  • Node.js servers using axios for HTTP requests
  • Any backend that passes parsed JSON to axios configuration

This is NOT prototype pollution - the application crashes before any assignment occurs.

How this vulnerability can be exploited

This issue can be reached over the network, attack complexity is low, an attacker needs no privileges on the target. No user interaction is required. The scope is unchanged, so the impact stays within the vulnerable component. Rated impact: confidentiality none, integrity none, availability high.

CVSS metrics in full

The score comes from this vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

  • Attack vector: Network — reachable from anywhere that can route to the service.
  • Attack complexity: Low — the attack works reliably, with no preparation.
  • Privileges required: None — an unauthenticated stranger can try it.
  • User interaction: None — nobody has to be tricked into anything.
  • Scope: Unchanged — the damage stays inside the vulnerable component.
  • Confidentiality impact: None.
  • Integrity impact: None.
  • Availability impact: High — total loss, or loss the attacker controls.

Weakness class

CVE-2026-25639 is classified as CWE-1321: Prototype Pollution. Attacker input can modify an object prototype, changing behaviour for objects across the application.

Affected software

CVE-2026-25639 is recorded against 1 package.

  • axios

Timeline and source

Published on 9 February 2026 and last revised on 19 August 2026. A public exploit is known to exist, which raises the urgency of patching considerably. A vendor advisory or fix has been published. Record sourced from OSV.

References

github.com (Web)
nvd.nist.gov (Advisory)
github.com (Web)
github.com (Web)
github.com (Web)
github.com (Web)
github.com (Package)
github.com (Web)
github.com (Web)

Other advisories for this package

axios has other advisories on record. If you are patching this one, these are worth checking on the same host:

Same weakness in other software

These advisories are the same class of weakness (CWE-1321: Prototype Pollution) in other software:

CVE-2026-25639 on other distributions

Each distribution ships its own build and its own fixed version. Pick the one you run:

Details

Severity HIGH
CVSS Score 8.0
CVSS Vector CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CWE CWE-1321
Public Exploit ⚠️ Yes
Source OSV
Published 2026-02-09
Updated 2026-08-20
Modified 2026-08-19

Affected Packages

Software From version Fixed in
axios

Exploit Protection

Are you running axios?

CVE-2026-25639 carries CVSS 8.0 High rating and a public exploit already exists. BotEraser checks your installation against this and other known CVE records, and blocks IPs associated with exploit activity.

Check My Site For CVE-2026-25639 →

No credit card required  ·  Results in minutes

ⓘ Data Notice: The information presented above has been compiled from publicly available internet sources. Boteraser aggregates this data solely for informational purposes and does not independently classify, evaluate, or endorse any findings about the vulnerabilities listed. The accuracy and completeness of this information is the sole responsibility of the original publishers. Boteraser and its operators accept no liability for any decisions made based on this data.

Browse related advisories

All advisoriesCVECVE 2026