Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify Astro+Vercel site with ISR enabled
-
DeliveryIdentify edge-protected GET route path
-
ExploitSend unauthenticated GET /_isr?x_astro_path=/protected/route
-
ExecutionEntrypoint trusts x-vercel-isr header, rewrites path to target
-
PersistEdge never evaluates controls against target path
-
ImpactOrigin renders and returns protected route content
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V4 - API and Web Service Proxy/intermediary controls
|
| Exploitation Conditions | Exploitation requires three concurrent conditions: (1) the target application uses @astrojs/vercel version 10.0.3 through 11.0.2 with isr: true explicitly set in the Astro configuration - ISR must be actively enabled for the /_isr function to be registered and publicly addressable; (2) the target route being accessed is protected exclusively by Vercel edge-level controls, either Vercel project path rules or firewall rules that deny access to the route path, or split deployments with edgeMiddleware: true where authorization logic lives in Astro edge middleware rather than in the origin route handler; and (3) the /_isr endpoint must be publicly reachable, which is the default on Vercel deployments (the attacker does not need to send the x-vercel-isr header because Vercel itself sets it on all requests to /_isr). Routes that validate authentication inside their own server-side origin handlers (checking session tokens, JWTs, or API keys within the Astro route file) are NOT bypassed, because the attacker triggers a fresh render but the route's own auth logic still executes at origin. Non-ISR deployments and deployments not on Vercel are entirely unaffected. |
| Impact | The CVSS 6.5 Medium score (AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N) correctly captures that exploitation requires no authentication and no user interaction over the network, but the I:L component is debatable since the attacker reads, not modifies, data - the official score may be treating the authorization control bypass itself as an integrity impact. Real-world risk is tightly gated by two deployment conditions: ISR must be explicitly enabled and route authorization must rely exclusively on edge-level controls (Vercel path rules or split edgeMiddleware), meaning applications that enforce auth inside their own origin route handlers are not affected at all. For those that do match both conditions - a non-trivial subset among Vercel-hosted Astro apps - the attack is trivially automated with a single unauthenticated GET request, and even a mid-sized municipal IT team in gniezno running a Vercel-hosted Astro app with ISR-enabled admin routes should treat this as urgent if their only access control is a Vercel path rule. No CISA KEV listing exists and no public proof-of-concept has been identified, suggesting exploitation has not yet been observed at broad scale; however, the regression nature (same root cause as CVE-2026-33768, a known and previously exploited pattern) and trivial attack primitive meaningfully elevate practical priority above what the EPSS score alone might imply. CVSS signals and description are consistent - no conflicts noted. |
| Exploit ScenarioDerived | An attacker identifies a Vercel-hosted Astro application with ISR enabled and a route such as /admin/dashboard protected exclusively by a Vercel project path rule. The attacker issues a single unauthenticated GET request - for example, curl https://target.vercel.app/_isr?x_astro_path=/admin/dashboard - and receives a fresh origin render of the protected page in the response body, since the edge evaluated access controls only against /_isr (permitted) and never against /admin/dashboard (blocked). No public proof-of-concept code has been identified, but no specialized tooling or credentials are required beyond knowledge of the target route path. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 17, 2026
Path override bypass in the @astrojs/vercel ISR entrypoint (versions 10.0.3 through 11.0.2) exposes edge-protected routes to unauthenticated remote access via a crafted GET request against the public /_isr function. The root cause is a confused deputy flaw (CWE-441): the origin entrypoint trusts the x-vercel-isr header - which Vercel itself sets on all external requests to /_isr - as sole authorization to accept an attacker-supplied x_astro_path query parameter, silently rewriting the rendered route behind the edge's back. This is a confirmed regression of CVE-2026-33768, reintroduced in 10.0.3 via PR #16079; no public exploit code has been identified, and the fix is confirmed released in @astrojs/vercel 11.0.3.
RemediationAI
Upgrade @astrojs/vercel to version 11.0.3 or later, which is the vendor-confirmed patch version per the release at https://github.com/withastro/astro/releases/tag/@astrojs/vercel@11.0.3 and the security advisory at https://github.com/withastro/astro/security/advisories/GHSA-x27w-589x-frm2. The fix replaces the insecure x-vercel-isr header gate with a per-build x_astro_path_token query parameter tied to the middlewareSecret, so only build-time ISR rewrites can legitimately override the request path. If immediate upgrade is not possible, a compensating control is to add a Vercel Edge Middleware rule that blocks requests to /_isr containing the x_astro_path query parameter when they originate outside the platform's internal routing - though this requires careful implementation and may interfere with legitimate ISR operation, so it is not recommended as a durable fix. A more robust interim mitigation is to move route-level authorization from edge-only path rules into origin-side handlers within each Astro route file (e.g., checking session tokens or API keys server-side), which eliminates the bypass condition regardless of the ISR path; this approach requires application refactoring but is effective even against the unpatched adapter.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in npm, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The @astrojs/vercel npm package (CPE cpe:2.3:a:withastro:astro:*:*:*:*:*:*:*:*) provides Vercel-platform integration for the Astro web framework, including Incremental Static Regeneration (ISR) support. In ISR mode, the adapter registers a publicly addressable /_isr serverless function that rewrites incoming requests to a target route for fresh origin rendering. The vulnerable branch in packages/integrations/vercel/src/serverless/entrypoint.ts reads the ASTRO_PATH_PARAM (x_astro_path) value from the URL query string whenever the x-vercel-isr request header equals '1', without verifying a per-build shared secret. This is the CWE-441 confused deputy pattern: the /_isr function acts as an unauthenticated proxy, and Vercel's edge layer evaluates access controls only against the /_isr path - never the rewritten target - so any edge path rule or split edge middleware guarding /admin or similar routes is completely bypassed. The fix (PR #17370) introduces a per-build ASTRO_PATH_TOKEN_PARAM (x_astro_path_token) parameter carrying the middlewareSecret, replacing the forgeable header gate with cryptographic proof that the path override originated from the build's own route table rather than an external caller.
Know when Astro gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N
Network-reachable unauthenticated GET with no user interaction; read-only route bypass yields limited confidentiality loss with no data modification and no availability impact.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
Astro is a web framework for content-driven websites. From 10.0.3 until 11.0.3, the Astro Vercel adapter in packages/integrations/vercel/src/serverless/entrypoint.ts accepts x_astro_path for the public /_isr function based only on the x-vercel-isr header, allowing unauthenticated GET requests to render routes protected only by Vercel edge path rules or split edge middleware. This issue is fixed in 11.0.3.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
SQL Injection exists in the Saxum Astro 4.0.14 component for Joomla!. Rated critical severity (CVSS 9.8), this vulnerabi
Astro web framework versions prior to 9.5.4 contain a server-side request forgery vulnerability in error page handling t
Authorization bypass in the Astro web framework version 6.4.7 lets remote unauthenticated attackers reach protected rout
Astro is a web framework for content-driven websites. Rated high severity (CVSS 7.8), this vulnerability is remotely exp
Server-side request forgery in Astro's built-in image proxy lets unauthenticated remote attackers force the server to fe
Astro is a web framework for content-driven websites. Rated high severity (CVSS 7.2), this vulnerability is remotely exp
Astro is a web framework for content-driven websites. Rated medium severity (CVSS 6.9), this vulnerability is remotely e
Astro is a web framework. Rated medium severity (CVSS 6.9), this vulnerability is remotely exploitable, no authenticatio
Astro is a web framework. Rated medium severity (CVSS 6.5), this vulnerability is remotely exploitable, no authenticatio
Unvalidated reflection of the X-Forwarded-Host header in Astro (versions before 5.14.3) lets remote, unauthenticated att
Astro web framework versions 9.0.0 through 9.5.3 fail to validate remote image domains when the inferSize option is enab
Base-path prefix bypass in Astro prior to 7.2.4 allows unauthenticated remote attackers to reach protected server-side r
EUVD-2026-60306
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB