Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-73424

CVE-2026-73424: Astro Vercel Adapter Auth Bypass Vulnerability

CVE-2026-73424 is an authentication bypass flaw in Astro Vercel adapter that allows unauthenticated requests to access protected routes. This post explains its impact, affected versions, and mitigation steps.

Published:

CVE-2026-73424 Overview

CVE-2026-73424 is an authorization bypass vulnerability in the Astro Vercel adapter. The flaw affects packages/integrations/vercel/src/serverless/entrypoint.ts in Astro versions from 10.0.3 until 11.0.3. The adapter accepts the x_astro_path parameter for the public /_isr function based only on the presence of the x-vercel-isr header. Unauthenticated attackers can send GET requests that render routes protected only by Vercel edge path rules or split edge middleware. The vulnerability is tracked under CWE-441: Unintended Proxy or Intermediary.

Critical Impact

Remote unauthenticated attackers can bypass edge-layer authorization controls and access protected server-rendered routes by crafting requests to the /_isr endpoint.

Affected Products

  • Astro @astrojs/vercel adapter versions 10.0.3 through 11.0.2
  • Astro applications deployed on Vercel using Incremental Static Regeneration (ISR)
  • Astro projects relying on Vercel edge path rules or split edge middleware for route protection

Discovery Timeline

  • 2026-08-17 - CVE-2026-73424 published to NVD
  • 2026-08-18 - Last updated in NVD database

Technical Details for CVE-2026-73424

Vulnerability Analysis

The Astro Vercel adapter exposes an internal ISR (Incremental Static Regeneration) function at /_isr. This endpoint receives the target application path through the x_astro_path query parameter. The entrypoint trusted this parameter based only on the x-vercel-isr header being present. Because both values are attacker-controllable in a direct GET request, an unauthenticated caller can specify any internal route as the ISR target. The adapter then renders that route through the serverless function, sidestepping Vercel edge path rules and split edge middleware that would otherwise enforce authentication or authorization.

Root Cause

The adapter lacked cryptographic verification that the x_astro_path parameter originated from Astro's own build-time route rewrite. Any HTTP client could set the x-vercel-isr header and supply an arbitrary x_astro_path value. This is a classic unintended intermediary flaw [CWE-441] where the serverless entrypoint acted as a confused deputy for the edge layer.

Attack Vector

An attacker sends a crafted GET request directly to the public /_isr function on the target Vercel deployment. The request includes the x-vercel-isr header and a x_astro_path query parameter set to a protected route. The serverless function renders and returns the protected route content, bypassing edge middleware.

typescript
// Patch from packages/integrations/vercel/src/index.ts
export const ASTRO_PATH_HEADER = 'x-astro-path';
export const ASTRO_PATH_PARAM = 'x_astro_path';

/**
 * ISR functions receive the target path through the `x_astro_path` query
 * parameter instead of a header. Because that parameter travels on the URL, it
 * is accompanied by this token so the entrypoint can confirm the path override
 * came from Astro's own build-time route rewrite rather than from an arbitrary
 * caller. The value is the per-build `middlewareSecret`.
 */
export const ASTRO_PATH_TOKEN_PARAM = 'x_astro_path_token';

Source: GitHub Commit 3a43cf0

The fix introduces a x_astro_path_token parameter validated against the per-build middlewareSecret, ensuring the path override came from Astro's own build-time route rewrite.

Detection Methods for CVE-2026-73424

Indicators of Compromise

  • Unauthenticated GET requests to the /_isr endpoint with unusual x_astro_path values referencing protected routes
  • HTTP requests containing the x-vercel-isr header from unexpected client IP addresses or user agents
  • Serverless function invocations logging renders of admin, dashboard, or authenticated-only routes without a preceding edge middleware log entry
  • Access log entries for internal application paths that bypass expected authentication redirects

Detection Strategies

  • Correlate Vercel edge middleware logs with serverless function invocation logs to find /_isr renders that skipped edge processing
  • Alert on external requests to /_isr where the x_astro_path parameter targets routes normally gated by authentication
  • Baseline expected ISR invocation patterns from build-time rewrites and flag deviations from those source IPs and headers

Monitoring Recommendations

  • Enable Vercel request logging and forward logs to a centralized log platform for retention and correlation
  • Track HTTP 200 responses on internal paths (/_isr, /_render) that originate from public client IPs rather than Vercel's internal edge network
  • Monitor for spikes in ISR function invocations that do not correspond to configured revalidation schedules

How to Mitigate CVE-2026-73424

Immediate Actions Required

  • Upgrade the @astrojs/vercel adapter to version 11.0.3 or later and redeploy affected Astro applications
  • Audit Vercel deployment logs for anomalous requests to /_isr containing attacker-controlled x_astro_path values
  • Review authentication logic and move critical authorization checks into server-side route handlers rather than relying solely on edge middleware

Patch Information

The issue is fixed in @astrojs/vercel version 11.0.3. The patch introduces the x_astro_path_token parameter validated against the per-build middlewareSecret so the entrypoint can confirm that any path override originated from Astro's own build-time route rewrite. See the GitHub Security Advisory GHSA-x27w-589x-frm2 and the 11.0.3 release notes for details.

Workarounds

  • Enforce authentication and authorization inside server route handlers rather than only at the Vercel edge layer
  • Restrict access to the /_isr endpoint through Vercel firewall rules until the adapter can be upgraded
  • Rotate any shared secrets or session tokens that may have been exposed through unauthorized route rendering
bash
# Upgrade the Astro Vercel adapter to the patched version
npm install @astrojs/vercel@11.0.3

# Verify the installed version
npm ls @astrojs/vercel

# Rebuild and redeploy the Astro application
npm run build
vercel deploy --prod

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.