Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSend HTTP POST with deeply bracketed FormData field name
-
DeliveryServer passes field name to axios formToJSON or JSON-serialized FormData transform
-
ExploitparsePropPath tokenizes field into thousands of segments
-
ExecutionbuildPath recurses per segment without depth limit
-
PersistV8 RangeError exhausts call stack
-
ImpactUncaught exception terminates Node.js process
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource consumption limits
MITRE ATT&CK
1 technique across 1 tactic: Impact The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires ALL of the following: (1) the target application must call axios.formToJSON(formData), use the named formToJSON import, or send a FormData object via axios with a Content-Type header containing application/json - normal multipart FormData requests that do not request JSON serialization do NOT trigger the vulnerable path; (2) the FormData field names passed to this functionality must be attacker-controlled and not sanitized or length-bounded before reaching axios; (3) for process termination (the worst-case impact), the application must additionally fail to catch the resulting rejected Promise or synchronous throw. Merely having axios installed, performing ordinary HTTP requests, or using toFormData() (which has its own maxDepth guard) does not expose the vulnerability. The CVSS 4.0 AT:P qualifier formally codifies condition (1) as a deployment prerequisite beyond simple network reachability. |
| Impact | The CVSS 4.0 vector (AV:N/AC:L/AT:P/PR:N/UI:N/VA:L) scores 6.3, reflecting medium severity. The AT:P (Attack Target: Prerequisite) qualifier is the key risk-limiting signal: exploitation is not possible against a generic axios installation - the target application must specifically invoke the formToJSON code path with attacker-controlled field names. This substantially narrows the vulnerable population compared to a straightforward AV:N/AC:L DoS. No EPSS score was provided in the input data, so exploitation probability cannot be quantified numerically. The vulnerability is not in CISA KEV and no public exploit code has been identified. In the default axios request path the stack overflow is returned as a rejected Promise before any network I/O occurs, meaning applications with proper async error handling degrade to request failures rather than process crashes. The real-world risk is highest for server-side Node.js applications that (a) expose an endpoint accepting raw FormData field names from untrusted users and (b) pass those names through formToJSON or JSON-serialized FormData without exception handling. The low availability impact (VA:L) in the official vector is appropriate: full process termination requires the additional condition of missing error handling, which is not guaranteed. |
| Exploit ScenarioDerived | An attacker submits an HTTP POST request to a Node.js server endpoint with a FormData field name such as x[0][0][0]... repeated several thousand times. The server application passes the received FormData through axios.formToJSON() or sends it via axios with an application/json Content-Type. During buildPath() recursion, V8 throws RangeError: Maximum call stack size exceeded; if the application does not catch the synchronous throw or the resulting rejected Promise, the Node.js process terminates, taking the service offline until it is restarted. No public exploit code has been identified at time of analysis, but the attack is straightforward to replicate from the advisory's technical description. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 01, 2026
Uncontrolled recursion in axios's formDataToJSON helper (versions 0.28.0 through <0.33.0 and 1.0.0 through <1.18.0) allows unauthenticated remote attackers to exhaust the JavaScript call stack by submitting FormData with field names containing thousands of nested bracket segments. The vulnerable buildPath() function in lib/helpers/formDataToJSON.js recurses once per path segment with no depth limit, causing a RangeError that, in server-side Node.js applications lacking exception handling, can terminate the process. No active exploitation or public exploit code has been identified at time of analysis; two patched releases (0.33.0 and 1.18.0) are available.
RemediationAI
Upgrade to axios 0.33.0 (for users on the 0.x branch) or axios 1.18.0 (for users on the 1.x branch), both of which introduce a maximum recursion depth guard in buildPath() consistent with the guard already present in toFormData(). The upstream fixes are tracked in GitHub pull requests #11000 and #11001 (https://github.com/axios/axios/pull/11000, https://github.com/axios/axios/pull/11001). The vendor advisory is at https://github.com/axios/axios/security/advisories/GHSA-42h9-826w-cgv3. If an immediate upgrade is not feasible, a targeted workaround is to avoid sending FormData with an application/json Content-Type header through axios and to avoid calling axios.formToJSON() or the named formToJSON export on untrusted input - switching to standard multipart FormData submission (without JSON serialization) entirely bypasses the vulnerable code path with no functional loss for most use cases. As an additional defensive layer regardless of patch status, ensure all axios calls are wrapped in try/catch or .catch() handlers to prevent uncaught RangeErrors from terminating the Node.js process; this limits the worst-case impact to individual request failures rather than service outage.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in npm
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
axios is a Promise-based HTTP client for Node.js and browsers (CPE: cpe:2.3:a:axios:axios), and one of the most widely downloaded npm packages. The vulnerability exists in lib/helpers/formDataToJSON.js, introduced in version 0.28.0 when the formToJSON public API was added. The parsePropPath() function tokenizes a FormData field name such as a[x][x][x] into discrete path segments; the recursive buildPath() function then processes each segment by calling itself without enforcing a maximum call depth. CWE-400 (Uncontrolled Resource Consumption) describes the root cause precisely: an attacker-controlled input directly sizes the recursion depth, consuming call stack memory proportional to the number of bracket segments supplied. Critically, the sibling toFormData() function already enforces a maxDepth guard - the oversight was omitted only from buildPath(). The vulnerable code path is reached via axios.formToJSON(formData), the named formToJSON export, or the default transformRequest when FormData is sent with an application/json Content-Type header.
Know when Axios gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
AC:H reflects the AT:P prerequisite (application must use formToJSON with attacker-controlled input); no confidentiality or integrity impact; availability is low, not high, because process termination requires additional absent exception handling.
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
axios versions 0.28.0 and later contain uncontrolled recursion in formDataToJSON when processing FormData field names with deeply nested bracket segments. Attackers can supply FormData with field names containing thousands of nested brackets to exhaust the JavaScript call stack and trigger RangeError, causing request failure or process termination in applications that do not handle the exception.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
NO_PROXY protection bypass in Axios HTTP client (versions 1.0.0-1.15.0 and ≤0.31.0) lets an attacker who controls a requ
JSON response tampering in the Axios HTTP client (versions 1.0.0 up to but not including 1.15.2) lets an attacker who ca
Prototype pollution via the Node.js HTTP adapter in axios allows an attacker who controls `Object.prototype.proxy` to si
axios is a promise based HTTP client for the browser and node.js. Rated high severity (CVSS 7.7), this vulnerability is
Axios is a promise based HTTP client for the browser and Node.js. Rated high severity (CVSS 7.5), this vulnerability is
Axios versions up to 0.30.3 is affected by improper check for unusual or exceptional conditions (CVSS 7.5).
axios 1.7.2 allows SSRF via unexpected behavior where requests for path relative URLs get processed as protocol relative
axios is vulnerable to Inefficient Regular Expression Complexity. Rated high severity (CVSS 7.5), this vulnerability is
Axios up to and including 0.18.0 allows attackers to cause a denial of service (application crash) by continuing to acce
Prototype pollution in Axios HTTP client versions before 1.15.1 and 0.31.1 enables silent interception and modification
Denial of service in Axios HTTP client before versions 1.15.1 and 0.31.1 allows remote unauthenticated attackers to cras
Prototype pollution in Axios library versions prior to 1.15.1 and 0.31.1 allows remote attackers to suppress HTTP error
Same weakness CWE-400 – Uncontrolled Resource Consumption
View allSame technique Denial Of Service
View allVendor StatusVendor
SUSE
Severity: Moderate| Product | Status |
|---|---|
| SUSE Linux Enterprise Desktop 15 SP7 | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP7 | Not-Affected |
| SUSE Linux Enterprise Module for Python 3 15 SP7 | Not-Affected |
| SUSE Linux Enterprise Module for SAP Applications 15 SP7 | Affected |
| SUSE Linux Enterprise Server 15 SP7 | Not-Affected |
| SUSE Linux Enterprise Server 16.0 | Affected |
| SUSE Linux Enterprise Server 16.1 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP7 | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP7 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.0 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.0 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Affected |
| openSUSE Leap 16.0 | Affected |
| openSUSE Leap 16.0 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4 | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5 | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5-LTSS | Not-Affected |
| SUSE Linux Enterprise Module for Python 3 15 SP6 | Not-Affected |
| SUSE Linux Enterprise Module for Server Applications 15 SP4 | Not-Affected |
| SUSE Linux Enterprise Module for Server Applications 15 SP5 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP4 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP4-LTSS | Not-Affected |
| SUSE Linux Enterprise Server 15 SP5 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP5-LTSS | Not-Affected |
| SUSE Linux Enterprise Server 15 SP6 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP6-LTSS | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP6 | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP6 | Affected |
| SUSE Manager Proxy 4.3 | Not-Affected |
| SUSE Manager Proxy LTS 4.3 | Not-Affected |
| SUSE Manager Retail Branch Server 4.3 | Not-Affected |
| SUSE Manager Retail Branch Server LTS 4.3 | Not-Affected |
| SUSE Manager Server 4.3 | Not-Affected |
| SUSE Manager Server LTS 4.3 | Not-Affected |
| SUSE CaaS Platform 4.0 | Affected |
| SUSE Enterprise Storage 6 | Affected |
| SUSE Enterprise Storage 7 | Affected |
| SUSE Enterprise Storage 7.1 | Not-Affected |
| SUSE Linux Enterprise Desktop 15 SP6 | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP1 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP1-ESPOS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP1-LTSS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP2 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP2-ESPOS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP2-LTSS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP3 | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP3-ESPOS | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP3-LTSS | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4-ESPOS | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP6 | Not-Affected |
| SUSE Linux Enterprise Module for SAP Applications 15 SP3 | Affected |
| SUSE Linux Enterprise Module for SAP Applications 15 SP4 | Affected |
| SUSE Linux Enterprise Module for SAP Applications 15 SP5 | Affected |
| SUSE Linux Enterprise Module for SAP Applications 15 SP6 | Affected |
| SUSE Linux Enterprise Module for Server Applications 15 SP1 | Affected |
| SUSE Linux Enterprise Module for Server Applications 15 SP2 | Affected |
| SUSE Linux Enterprise Module for Server Applications 15 SP3 | Not-Affected |
| SUSE Linux Enterprise Real Time 15 SP2 | Affected |
| SUSE Linux Enterprise Real Time 15 SP3 | Not-Affected |
| SUSE Linux Enterprise Real Time 15 SP4 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP1 | Affected |
| SUSE Linux Enterprise Server 15 SP1-BCL | Affected |
| SUSE Linux Enterprise Server 15 SP1-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP2 | Affected |
| SUSE Linux Enterprise Server 15 SP2-BCL | Affected |
| SUSE Linux Enterprise Server 15 SP2-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP3 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP3-BCL | Not-Affected |
| SUSE Linux Enterprise Server 15 SP3-LTSS | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP1 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP2 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP3 | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP3 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP4 | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP4 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP5 | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP5 | Affected |
| SUSE Manager Proxy 4.0 | Affected |
| SUSE Manager Proxy 4.1 | Affected |
| SUSE Manager Proxy 4.2 | Not-Affected |
| SUSE Manager Retail Branch Server 4.0 | Affected |
| SUSE Manager Retail Branch Server 4.1 | Affected |
| SUSE Manager Retail Branch Server 4.2 | Not-Affected |
| SUSE Manager Server 4.0 | Affected |
| SUSE Manager Server 4.1 | Affected |
| SUSE Manager Server 4.2 | Not-Affected |
| openSUSE Leap 15.3 | Not-Affected |
| openSUSE Leap 15.4 | Not-Affected |
| openSUSE Leap 15.5 | Not-Affected |
| openSUSE Leap 15.6 | Affected |
EUVD-2026-51866
GHSA-fq2j-3j99-rx65
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB