Astro: Memory exhaustion DoS due to missing request body size limit in Server Islands
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Denial of service
- Confidentiality · integrity · availability
- None · None · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · NVD. Fix status from CNA and GitHub. Impact type from CWE-770.
Summary
Astro is a web framework. Prior to version 10.0.0, Astro's Server Islands POST handler buffers and parses the full request body as JSON without enforcing a size limit. Because JSON.parse() allocates a V8 heap object for every element in the input, a crafted payload of many small JSON objects achieves ~15x memory amplification (wire bytes to heap bytes), allowing a single unauthenticated request to exhaust the process heap and crash the server. The /_server-islands/[name] route is registered on all Astro SSR apps regardless of whether any component uses server:defer, and the body is parsed before the island name is validated, so any Astro SSR app with the Node standalone adapter is affected. This issue has been patched in version 10.0.0.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| withastro | astro | before 10.0.0 | 10.0.0 | Patch available | CNA |
| — | @astrojs/node (npm) | before 10.0.0 | 10.0.0 | Patch available | GHSA-3rmj-9m5h-8fpv |
- astro Vendorwithastro Affected before 10.0.0 Fixed in 10.0.0 Patch available CNA
- @astrojs/node (npm) Vendor— Affected before 10.0.0 Fixed in 10.0.0 Patch available GHSA-3rmj-9m5h-8fpv
Remediation
- Fix · CNA astro (withastro) Fixed in 10.0.0
- Fix · GHSA-3rmj-9m5h-8fpv @astrojs/node (npm) Fixed in 10.0.0 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-29772
- 2026-10-03 Alias added: GHSA-3rmj-9m5h-8fpv
References
More withastro @astrojs/node vulnerabilities
- TI-2026-22091 Astro has memory exhaustion DoS due to missing request body size limit in Server Actions CVSS 3.1HIGH 7.5
- TI-2026-22180 Astro is vulnerable to SSRF due to missing allowlist enforcement in remote image inferSize CVSS 3.1HIGH 7.2
- TI-2026-20654 Astro has Full-Read SSRF in error rendering via Host: header injection CVSS 4.0MEDIUM 6.9
Sources
- CVE-2026-29772 · CVE Program
- CVE-2026-29772 · NVD
- FIRST EPSS
- GHSA-3rmj-9m5h-8fpv · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences