{"id":"CVE-2026-102984","aliases":["GHSA-qh8j-hqjv-7m4x"],"url":"https://o3.security/vulnerability/CVE-2026-102984","summary":"Astro: Malformed port in the Host header can crash the Node adapter","details":"## Summary\n\nIn 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.\n\n## Impact\n\nThe effect depends on the adapter configuration:\n\n- Default configuration (`standalone`): the request returns `500 Internal Server Error` and the server continues running.\n- 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.\n\nThis 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.\n\n## Affected versions\n\n`@astrojs/node` <= 11.1.2.\n\n## Patches\n\nFixed 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.\n\n## Workarounds\n\nUpgrade 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.\n\n## Credits\n\nReported by @Celggar.","published":"2026-09-30T14:35:22.323Z","modified":"2026-10-21T02:54:29.975637293Z","cvss":null,"epss":null,"cisaKev":null,"exploitsKnown":null,"affectedPackages":[{"ecosystem":"npm","name":"@astrojs/node","fixedVersion":"11.1.3"}],"fix":{"url":"https://github.com/withastro/astro/commit/2066f39c60707a100531b4ef4bb5dab8feafa7f2","label":"withastro/astro@2066f39"},"references":[{"type":"WEB","url":"https://github.com/withastro/astro/releases/tag/@astrojs/node@11.1.3"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/102xxx/CVE-2026-102984.json"},{"type":"ADVISORY","url":"https://github.com/withastro/astro/security/advisories/GHSA-qh8j-hqjv-7m4x"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-102984"},{"type":"FIX","url":"https://github.com/withastro/astro/commit/2066f39c60707a100531b4ef4bb5dab8feafa7f2"},{"type":"FIX","url":"https://github.com/withastro/astro/pull/17572"},{"type":"PACKAGE","url":"https://github.com/withastro/astro"}],"provenance":{"sources":["OSV.dev","FIRST.org (EPSS)"],"lastVerified":"2026-10-21T02:54:29.975637293Z"}}