Miggo Logo

CVE-2025-27152: axios Requests Vulnerable To Possible SSRF and Credential Leakage via Absolute URL

7.7

CVSS Score
4.0

Basic Information

EPSS Score
0.05325%
Published
3/7/2025
Updated
3/28/2025
KEV Status
No
Technology
TechnologyJavaScript

Technical Details

CVSS Vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:P/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Package NameEcosystemVulnerable VersionsFirst Patched Version
axiosnpm>= 1.0.0, < 1.8.21.8.2
axiosnpm< 0.30.00.30.0

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability originated in the buildFullPath function, which incorrectly handled cases where a baseURL was configured but an absolute URL was provided as requestedURL. Instead of ensuring the final URL adhered to the baseURL's domain or path, it would return the absolute requestedURL directly. This flaw was exploited by functions that used buildFullPath to construct the final request URL, namely httpAdapter (for Node.js HTTP requests) and xhrAdapter (for browser XMLHttpRequest). These adapters, when invoked via the primary Axios.prototype.request method (or its aliases like get, post, etc.), would then make requests to the attacker-specified absolute URL, ignoring the baseURL. This could lead to Server-Side Request Forgery (SSRF) if the attacker provided an internal URL, or credential leakage if the baseURL configuration included sensitive headers (like API keys) that were then sent to the attacker's server. The patches addressed this by modifying buildFullPath to introduce an allowAbsoluteUrls option and ensure baseURL is respected unless explicitly overridden, and by updating the adapter functions to correctly use this modified buildFullPath.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

### Summ*ry * pr*viously r*port** issu* in *xios **monstr*t** t**t usin* proto*ol-r*l*tiv* URLs *oul* l*** to SSR* (S*rv*r-Si** R*qu*st *or**ry). R***r*n**: *xios/*xios#**** * simil*r pro*l*m t**t o**urs w**n p*ssin* **solut* URLs r*t**r t**n proto

Reasoning

T** vuln*r**ility ori*in*t** in t** `*uil**ullP*t*` *un*tion, w*i** in*orr**tly **n*l** **s*s w**r* * `**s*URL` w*s *on*i*ur** *ut *n **solut* URL w*s provi*** *s `r*qu*st**URL`. Inst*** o* *nsurin* t** *in*l URL ****r** to t** `**s*URL`'s *om*in or