Resource exhaustion in Astro \@Astrojs\/node
CVE-2026-29772
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.
EPSS: 0.004 (30.1th percentile) — read the EPSS interpretation.
CVSS v3 metric
CVSS v3 base score 5.9 (Medium). Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H.
Affected products
- Astro \@Astrojs\/node
- Withastro Astro — versions < 10.0.0
Weakness classification (CWE)
References
- security-advisories@github.com (x_refsource_CONFIRM, Exploit, Vendor Advisory)
Frequently asked questions
- What is CVE-2026-29772?
- CVE-2026-29772 is a medium-severity vulnerability in Astro \@Astrojs\/node, classified under Allocation of Resources Without Limits or Throttling. CVSS score: 5.9/10. Published 2026-03-24.
- How severe is CVE-2026-29772?
- Medium severity. CVSS v3 base score is 5.9 out of 10.