CVE-2026-33768
Astro: Unauthenticated Path Override via `x-astro-path` / `x_astro_path`
Severity by source
Trivy's own label is CRITICAL. Rated critical by NVD. Rated lower by GHSA (medium).
Description
Astro is a web framework. Prior to version 10.0.2, the @astrojs/vercel serverless entrypoint reads the x-astro-path header and x_astro_path query parameter to rewrite the internal request path, with no authentication whatsoever. On deployments without Edge Middleware, this lets anyone bypass Vercel's platform-level path restrictions entirely. The override preserves the original HTTP method and body, so this isn't limited to GET. POST, PUT, DELETE all land on the rewritten path. A Firewall rule blocking /admin/* does nothing when the request comes in as POST /api/health?x_astro_path=/admin/delete-user. This issue has been patched in version 10.0.2.
Affected packages and fixed versions
| Source | Package | Fixed in |
|---|---|---|
| npm::GitHub Security Advisory npm | @astrojs/vercel | 10.0.2 |
References
- https://github.com/advisories/GHSA-f82v-jwr5-mffw
- https://github.com/withastro/astro
- https://github.com/withastro/astro/commit/335a204161f5a7293c128db570901d4f8639c6ed
- https://github.com/withastro/astro/pull/15959
- https://github.com/withastro/astro/releases/tag/@astrojs%2Fvercel@10.0.2
- https://github.com/withastro/astro/releases/tag/@astrojs/vercel@10.0.2
- https://github.com/withastro/astro/security/advisories/GHSA-mr6q-rp88-fx84
- https://nvd.nist.gov/vuln/detail/CVE-2026-33768