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.

Project Subscriptions

Vendors Products
\@astrojs\/vercel Subscribe
Withastro Subscribe
Advisories
Source ID Title
Github GHSA Github GHSA GHSA-mr6q-rp88-fx84 Astro: Unauthenticated Path Override via `x-astro-path` / `x_astro_path`
Fixes

Solution

No solution given by the vendor.


Workaround

No workaround given by the vendor.

History

Thu, 26 Mar 2026 13:45:00 +0000

Type Values Removed Values Added
First Time appeared Astro
Astro \@astrojs\/vercel
CPEs cpe:2.3:a:astro:\@astrojs\/vercel:*:*:*:*:*:*:*:*
Vendors & Products Astro
Astro \@astrojs\/vercel

Wed, 25 Mar 2026 12:00:00 +0000

Type Values Removed Values Added
First Time appeared Withastro
Withastro astro
Vendors & Products Withastro
Withastro astro

Tue, 24 Mar 2026 19:15:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Tue, 24 Mar 2026 19:00:00 +0000

Type Values Removed Values Added
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.
Title Astro: Unauthenticated Path Override via `x-astro-path` / `x_astro_path`
Weaknesses CWE-441
CWE-862
References
Metrics cvssV3_1

{'score': 6.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N'}


Projects

Sign in to view the affected projects.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-03-24T18:53:24.069Z

Reserved: 2026-03-23T18:30:14.127Z

Link: CVE-2026-33768

cve-icon Vulnrichment

Updated: 2026-03-24T18:53:20.363Z

cve-icon NVD

Status : Analyzed

Published: 2026-03-24T19:16:55.653

Modified: 2026-03-26T13:37:30.467

Link: CVE-2026-33768

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-03-27T09:20:47Z

Weaknesses