Skip to content
Heist/ feed
HighFix available

Astro: Malformed port in the Host header can crash the Node adapter

Type: advisorySource: OSV1 source record

## 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 returns `500 Internal Server Error` and the server continues running. - With the opt-in `staticHeaders: true` option: the throw reaches a synchronous HTTP handler that does not catch it, becoming an `uncaughtException` that 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. ## C

Announced Group revision 1
Original source ↗

GHSA-qh8j-hqjv-7m4x

Primary source · Revision 1

Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.

Security context

Source reference: osv:GHSA-qh8j-hqjv-7m4x

@astrojs/node

Source reference: /affected/0/package/name

Affected versions
Not stated in this record
Fixed versions
11.1.3

Source reference: /affected/0/ranges

Prerequisites
Not stated in this record

Structured affected-version data

Original package identities and version rules from this source.

[
  {
    "ranges": [
      {
        "type": "SEMVER",
        "events": [
          {
            "introduced": "0"
          },
          {
            "fixed": "11.1.3"
          }
        ]
      }
    ],
    "package": {
      "name": "@astrojs/node",
      "purl": "pkg:npm/%40astrojs/node",
      "ecosystem": "npm"
    },
    "database_specific": {
      "source": "https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/09/GHSA-qh8j-hqjv-7m4x/GHSA-qh8j-hqjv-7m4x.json",
      "last_known_affected_version_range": "<= 11.1.2"
    }
  }
]
Related CVEs
CVE-2026-102984

Source reference: /aliases

Publisher severity

high

Source reference: /database_specific/severity

Linked CVE context

These ratings describe the referenced vulnerabilities and products. They are not a severity rating for every application using this dependency.

Event
#51906 · Revision 1
Added to Heist Feed
Publisher date
Read the original announcement