Miggo Logo

CVE-2025-58754: Axios is vulnerable to DoS attack through lack of data size check

7.5

CVSS Score
3.1

Basic Information

EPSS Score
-
Published
9/11/2025
Updated
9/11/2025
KEV Status
No
Technology
TechnologyJavaScript

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Package NameEcosystemVulnerable VersionsFirst Patched Version
axiosnpm< 1.12.01.12.0

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability is a Denial of Service (DoS) in Axios when handling data: URLs on Node.js. The root cause is the lack of input validation on the size of the payload within a data: URL. When a request is made with a malicious, oversized data: URL, the httpAdapter function in lib/adapters/http.js is invoked. In vulnerable versions, this function fails to check the payload size against the configured maxContentLength or maxBodyLength limits, as it does for standard HTTP requests. It directly calls the fromDataURI helper function. The fromDataURI function then proceeds to decode the entire Base64-encoded payload into a Buffer in memory. This single, unbounded allocation can easily exhaust the available heap space for the Node.js process, causing it to crash. The provided patch mitigates this by introducing a new helper, estimateDataURLDecodedBytes, and using it within httpAdapter to estimate the final size of the data before attempting to decode it, effectively enforcing the maxContentLength limit and preventing the dangerous memory allocation.

Vulnerable functions

Only Mi**o us*rs **n s** t*is s**tion

WAF Protection Rules

WAF Rule

## Summ*ry W**n *xios runs on No**.js *n* is *iv*n * URL wit* t** `**t*:` s***m*, it *o*s not p*r*orm *TTP. Inst***, its No** *ttp ***pt*r ***o**s t** *ntir* p*ylo** into m*mory (`*u***r`/`*lo*`) *n* r*turns * synt**ti* *** r*spons*. T*is p*t* i*nor

Reasoning

T** vuln*r**ility is * **ni*l o* S*rvi** (*oS) in *xios w**n **n*lin* `**t*:` URLs on No**.js. T** root **us* is t** l**k o* input v*li**tion on t** siz* o* t** p*ylo** wit*in * `**t*:` URL. W**n * r*qu*st is m*** wit* * m*li*ious, ov*rsiz** `**t*:`