Astro: Malformed port in the Host header can crash the Node adapter
Published 30 Sept 2026 · Updated 30 Sept 2026
Affected package
- Affected
- <11.1.3
- Fixed in
- 11.1.3
npm install @astrojs/node@11.1.3Details
Summary
In the Astro Node adapter, a request whose Host header contains a malformed port (for example example.com:65536 or example.com:8080:8080) produced an invalid request URL. The fallback intended to recover from an unparseable URL reused the same malformed host, so it failed again and raised an uncaught TypeError: Invalid URL while the request was being built, before any route ran.
Impact
The effect depends on the adapter configuration:
- Default configuration (
standalone): the request returns500 Internal Server Errorand the server continues running. - With the opt-in
staticHeaders: trueoption: the throw reaches a synchronous HTTP handler that does not catch it, becoming anuncaughtExceptionthat terminates the process.
This is an availability-only issue. It does not expose data or allow code execution. Triggering it requires sending a hand-crafted Host header, and many proxies and CDNs reject malformed hosts before they reach the origin.
Affected versions
@astrojs/node <= 11.1.2.
Patches
Fixed in @astrojs/node 11.1.3. When the incoming host cannot be parsed, the request URL now degrades to a host the server controls, so the request is handled instead of throwing. Hosts carrying more than a single hostname:port pair are also rejected during host validation.
Workarounds
Upgrade to @astrojs/node 11.1.3 or later. Deployments that terminate malformed Host headers at a reverse proxy or CDN are not reachable through this path.
Credits
Reported by @Celggar.
Is GHSA-qh8j-hqjv-7m4x in any of your client repos?
Checking one package by hand is fine. Checking it across forty client projects is not. NPMscan reads the lockfiles in every GitHub repo you pick, finds each project with an affected @astrojs/node, and gives you the command that fixes it.
References
- Linkgithub.com/withastro/astro/security/advisories/GHSA-qh8j-hqjv-7m4x
- Advisorynvd.nist.gov/vuln/detail/CVE-2026-102984
- Linkgithub.com/withastro/astro/pull/17572
- Linkgithub.com/withastro/astro/commit/2066f39c60707a100531b4ef4bb5dab8feafa7f2
- Packagegithub.com/withastro/astro
- Linkgithub.com/withastro/astro/releases/tag/@astrojs/node@11.1.3
Advisory data from OSV.dev (opens OSV.dev in a new tab), refreshed daily.