Read the docs
TI-2026-22180 Aliases CVE-2026-27829GHSA-cj9f-h6r6-4cx2

Astro is vulnerable to SSRF due to missing allowlist enforcement in remote image inferSize

Priority HIGH 65CWE-918Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
Low
Impact type
—
Confidentiality · integrity · availability
None · Low · Low
Fix status
Fixed

Attack profile from CVSS 3.1 · NVD. Fix status from CNA and GitHub.

Summary

Astro is a web framework. In versions 9.0.0 through 9.5.3, a bug in Astro's image pipeline allows bypassing `image.domains` / `image.remotePatterns` restrictions, enabling the server to fetch content from unauthorized remote hosts. Astro provides an `inferSize` option that fetches remote images at render time to determine their dimensions. Remote image fetches are intended to be restricted to domains the site developer has manually authorized (using the `image.domains` or `image.remotePatterns` options). However, when `inferSize` is used, no domain validation is performed — the image is fetched from any host regardless of the configured restrictions. An attacker who can influence the image URL (e.g., via CMS content or user-supplied data) can cause the server to fetch from arbitrary hosts. This allows bypassing `image.domains` / `image.remotePatterns` restrictions to make server-side requests to unauthorized hosts. This includes the risk of server-side request forgery (SSRF) against internal network services and cloud metadata endpoints. Version 9.5.4 fixes the issue.

Why it matters now

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

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
withastroastro9.0.0 to before 9.5.49.5.4Patch availableCNA
—@astrojs/node (npm)9.0.0 to before 9.5.49.5.4Patch availableGHSA-cj9f-h6r6-4cx2
  • astro Vendorwithastro Affected 9.0.0 to before 9.5.4 Fixed in 9.5.4 Patch available CNA
  • @astrojs/node (npm) Vendor— Affected 9.0.0 to before 9.5.4 Fixed in 9.5.4 Patch available GHSA-cj9f-h6r6-4cx2

CPE configurations NVD · 1

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

Remediation

  • Fix · CNA astro (withastro) Fixed in 9.5.4
  • Fix · GHSA-cj9f-h6r6-4cx2 @astrojs/node (npm) Fixed in 9.5.4 Advisory →

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-27829
  2. 2026-10-03 Alias added: GHSA-cj9f-h6r6-4cx2

References

  • TI-2026-23358 Astro: Memory exhaustion DoS due to missing request body size limit in Server Islands CVSS 3.1HIGH 7.5
  • 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-20654 Astro has Full-Read SSRF in error rendering via Host: header injection CVSS 4.0MEDIUM 6.9

Sources