CVE-2026-33768
published 2026-03-24CVE-2026-33768: 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…
PriorityP262critical9.1CVSS 3.1
AVNACLPRNUINSUCHIHAN
EPSS
0.50%
40.1th percentile
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
4 ranges
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| astro | astrojs_vercel | < 10.0.2 | 10.0.2 |
| astrojs | vercel | >= 0 < 10.0.2 | 10.0.2 |
| astrojs | vercel | >= 10.0.3 < 11.0.3 | 11.0.3 |
| withastro | astro | < 10.0.2 | 10.0.2 |
CVSS provenance
nvdv3.19.1CRITICALCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
ghsa9.1CRITICAL
Stop checking back — get the weekly exploitation signal.
Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.
GHSA
Astro: Unauthenticated path override in the @astrojs/vercel ISR function
ghsa·2026-07-20·CVSS 9.1
CVE-2026-33768 [CRITICAL] CWE-441 Astro: Unauthenticated path override in the @astrojs/vercel ISR function
Astro: Unauthenticated path override in the @astrojs/vercel ISR function
## Summary
When ISR is enabled, the serverless entrypoint lets an unauthenticated request
decide which route the origin renders. The internal `_isr` function reads the
`x_astro_path` query parameter and rewrites the request path to it without any
authentication. Edge level access controls only ever see the `/_isr` path, so
they do not apply to the route that actually gets rendered. This is the same
confused deputy problem as CVE-2026-33768, reachable again through the ISR path.
## Impact
This affects apps that use `@astrojs/vercel` with `isr: true` and protect routes
at the edge. Two common setups are affected:
1. Path rules or firewall deny rules configured on Vercel (for example blocking
`/admin`).
2. Split deplo
GHSA
Astro: Unauthenticated Path Override via `x-astro-path` / `x_astro_path`
ghsa·2026-03-26
CVE-2026-33768 [MEDIUM] CWE-441 Astro: Unauthenticated Path Override via `x-astro-path` / `x_astro_path`
Astro: Unauthenticated Path Override via `x-astro-path` / `x_astro_path`
## Summary
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`.
## Affected Versions
Verified against:
- **Astro 5.18.1 + @astrojs/vercel 9.0.4** — GET and POST override both work. Full exploitation.
- **Ast
OSV
Astro: Unauthenticated Path Override via `x-astro-path` / `x_astro_path`
osv·2026-03-26
CVE-2026-33768 [MEDIUM] Astro: Unauthenticated Path Override via `x-astro-path` / `x_astro_path`
Astro: Unauthenticated Path Override via `x-astro-path` / `x_astro_path`
## Summary
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`.
## Affected Versions
Verified against:
- **Astro 5.18.1 + @astrojs/vercel 9.0.4** — GET and POST override both work. Full exploitation.
- **Ast
No detection rules found.
No public exploits indexed.
2026-03-24
Published