CVE-2026-67321
PoC massUncontrolled recursion DoS in axios toFormData.js serialization
axios, a widely used JavaScript HTTP client distributed via npm, contains an incomplete depth-limit bypass in toFormData.js (CWE-674, uncontrolled recursion) in versions 0.31.1 before 0.33.0 and 1.15.1 before 1.18.0. When an application passes attacker-controlled object keys, including top-level keys ending in '{}', and nested values into axios's form or parameter serialization, the depth limit is bypassed and recursive processing ends with JSON.stringify throwing a RangeError. The impact is availability only: a denial of service in the affected request path (CVSS 4.0 6.9, medium), with no confidentiality or integrity impact. Any Node.js or browser application on the affected axios versions that serializes untrusted, attacker-influenced input into forms or request parameters is exposed. There is one public advisory reference (GHSA-hcpx-6fm6-wx23), but the flaw is not in CISA KEV and EPSS is 0.4% (29th percentile), so no confirmed in-the-wild exploitation is known.
What to do: Upgrade axios to 0.33.0 or later on the 0.x series, or 1.18.0 or later on the 1.x series. Audit whether your application passes attacker-controlled nested objects or keys (including keys ending in '{}') into axios form or parameter serialization via toFormData.js; as an interim mitigation, flatten or depth-limit untrusted input before handing it to these serializers. No emergency patching is indicated given low EPSS and no KEV listing, but include this in routine dependency updates.
| axios | >= 0.31.1 and < 0.33.0 (0.x series, npm) |
| axios | >= 1.15.1 and < 1.18.0 (1.x series, npm) |
Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.
axios versions 0.31.1 before 0.33.0 and 1.15.1 before 1.18.0 contain an incomplete depth-limit bypass in toFormData.js when serializing objects with top-level keys ending in '{}'. Attackers who control object keys and nested values passed to axios form or parameter serialization can trigger a RangeError from JSON.stringify, causing denial of service in the affected request path.
- Vendors
- axios
- Products
- axios
- Ecosystems
- npm
- Weakness
- CWE-674
- Vector
- CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:X/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
- GHSA
- GHSA-hcpx-6fm6-wx23 (medium)
In the news0 stories
No ingested article mentions this CVE yet.