GitHub Advisoryadvisory · npm

GHSA-r557-wffq-wvrc @astrojs/node: Backslash-prefixed paths not recognized as internal by trailing-slash redirect

LOW Published 2026-07-20 Modified 2026-08-12 Official page ↗
Aliases
CVE-2026-59730
Ecosystem
npm
Packages
@astrojs/node
Severity
Low
CVSS vector
CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:A/VC:N/VI:N/VA:N/SC:N/SI:L/SA:N
Weaknesses
CWE-601
Reviewed
2026-07-20

Affected packages

• npm @astrojs/node: >= 8.1.0, < 11.0.2 → fixed in 11.0.2

Description

Impact With `trailingSlash: 'always'` configured, the `@astrojs/node` standalone server's static file handler appends a trailing slash to request paths and issues a `301` redirect. Paths beginning with `/\` (slash-backslash) were not recognized as internal paths, so the handler would echo the raw path back in the `Location` header. Because browsers treat `\` as `/` per the WHATWG URL specification, the resulting redirect could resolve to an external host. Preconditions: • `trailingSlash: 'always'` must be set (non-default; the default is `'ignore'`) • The request path must not have a file extension in its final segment • An attacker must deliver the crafted link to a user Patches Fixed by treating backslash-prefixed paths the same as `//`-prefixed paths in `isInternalPath()`, so they are no longer rewritten with a trailing slash. Workarounds Use the default `trailingSlash: 'ignore'` setting, which does not issue trailing-slash redirects in the static file handler. References • WHATWG URL spec: backslash normalization

Related

Alias · CVE (1)

  • CVE-2026-59730 Astro is a web framework for content-driven websites. vulnerability

Weakness · CWE (1)

  • CWE-601 URL Redirection to Untrusted Site weakness

References