CVE-2026-54299
Undergoing Analysis Undergoing Analysis - In Progress
Astro SSR Host Header Injection via Unvalidated Fetch

Publication date: 2026-06-22

Last updated on: 2026-06-22

Assigner: GitHub, Inc.

Description
Astro is a web framework. Prior to 6.4.6, Astro SSR apps with prerendered error pages (/404 or /500 using export const prerender = true) fetch those pages over HTTP at runtime when an error occurs. The URL for this fetch is derived from request.url, which in turn gets its origin from the incoming Host header. When the Host header is not validated against allowedDomains, an attacker can point the fetch at an arbitrary host and read the response. This vulnerability is fixed in 6.4.6.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-06-22
Last Modified
2026-06-22
Generated
2026-06-23
AI Q&A
2026-06-22
EPSS Evaluated
N/A
NVD
EUVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
withastro astro to 6.4.6 (exc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-20 The product receives input or data, but it does not validate or incorrectly validates that the input has the properties that are required to process the data safely and correctly.
CWE-918 The web server receives a URL or similar request from an upstream component and retrieves the contents of this URL, but it does not sufficiently ensure that the request is being sent to the expected destination.
Attack-Flow Graph
AI Quick Actions
Instant insights powered by AI
Executive Summary

CVE-2026-54299 is a Server-Side Request Forgery (SSRF) vulnerability in Astro SSR applications that use prerendered error pages (such as 404 or 500) with the setting `export const prerender = true`.

The vulnerability occurs because the application fetches these error pages at runtime using a URL constructed from the incoming request's Host header without properly validating it against allowed domains.

An attacker can manipulate the Host header to make the server fetch data from an arbitrary host, allowing them to read the response and potentially access sensitive information.

This issue affects SSR deployments using `createRequestFromNodeRequest` from `@astrojs/app-node` with `app.render()` when the `prerenderedErrorPageFetch` option is not overridden.

The vulnerability is fixed in Astro version 6.4.6 by validating the fetch origin against allowed domains and falling back to localhost if invalid.

Impact Analysis

This vulnerability can allow an attacker to perform SSRF attacks by manipulating the Host header, causing the server to fetch data from arbitrary hosts.

As a result, the attacker may be able to read sensitive information from internal or external systems that the server can access.

The CVSS score of 7.5 indicates a high severity impact, with confidentiality being affected, meaning sensitive data could be exposed.

There is no requirement for privileges or user interaction, making it easier for attackers to exploit remotely over the network.

Detection Guidance

This vulnerability can be detected by checking if your Astro SSR application with prerendered error pages is fetching error pages at runtime using the Host header without validation. Specifically, you should verify if the application uses createRequestFromNodeRequest from @astrojs/app-node with app.render() without overriding the prerenderedErrorPageFetch option.

To detect exploitation attempts on your network, monitor HTTP requests with manipulated Host headers targeting your server, especially those that trigger error pages (/404 or /500).

While no specific commands are provided in the resources, you can use network monitoring tools like tcpdump or Wireshark to capture HTTP requests and filter for unusual Host headers.

  • Use tcpdump to capture HTTP traffic: tcpdump -i <interface> -A 'tcp port 80 or 443'
  • Use grep or similar tools on server logs to find requests with suspicious Host headers or error page triggers.
  • Audit your Astro SSR application code/configuration to check if allowedDomains validation is implemented for the Host header.
Mitigation Strategies

The immediate mitigation step is to upgrade your Astro framework to version 6.4.6 or later, where this vulnerability is fixed.

If upgrading is not immediately possible, ensure that your application validates the Host header against an allowedDomains list before using it to fetch error pages.

Additionally, configure the fetch for prerendered error pages to fall back to localhost if the Host header is invalid, and wrap the fetch in try/catch blocks to handle connection failures gracefully.

Avoid using vulnerable versions of @astrojs/app-node with app.render() without overriding the prerenderedErrorPageFetch option.

Note that @astrojs/node versions 9.5.4 or higher, @astrojs/cloudflare, and the development server are not affected.

Compliance Impact

This vulnerability allows an attacker to manipulate the Host header to fetch and read responses from arbitrary hosts, potentially exposing sensitive information.

Such unauthorized data access and exposure can lead to violations of data protection regulations like GDPR and HIPAA, which require strict controls over the confidentiality and integrity of personal and sensitive data.

Because the vulnerability impacts confidentiality by enabling data leakage through SSRF, affected systems may fail to comply with these standards until the issue is remediated.

Chat Assistant
Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-54299. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70
EPSS Chart