Read the docs
TI-2026-23358 Aliases CVE-2026-29772GHSA-3rmj-9m5h-8fpv

Astro: Memory exhaustion DoS due to missing request body size limit in Server Islands

Priority HIGH 66CWE-770Published · Updated

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

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00385 32nd percentileScored 2026-11-07
Public exploit Yes 1 exploit referenceTagged by NVD
Fix Fixed astro (withastro): 10.0.0@astrojs/node (npm): 10.0.0

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

VendorProductAffected versionsFixed inStatusSource
withastroastrobefore 10.0.010.0.0Patch availableCNA
—@astrojs/node (npm)before 10.0.010.0.0Patch availableGHSA-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

CPE configurations NVD · 1

CPEVersionsRoleVendor
cpe:2.3:a:astro:\@astrojs\/node:*:*:*:*:*:node.js:*:*9.0.0 to before 10.0.0Vulnerablewithastro
  • cpe:2.3:a:astro:\@astrojs\/node:*:*:*:*:*:node.js:*:* Versions 9.0.0 to before 10.0.0 Vulnerable ·withastro

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

  1. 2026-10-02 Threatist record created from CVE-2026-29772
  2. 2026-10-03 Alias added: GHSA-3rmj-9m5h-8fpv

References

  • 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