{"id":"CVE-2026-33768","state":"PUBLISHED","title":"Astro: Unauthenticated Path Override via `x-astro-path` / `x_astro_path`","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.","publishedAt":"2026-03-24T18:40:12.549Z","updatedAt":"2026-03-24T18:53:24.069Z","severity":{"score":6.5,"label":"Medium","version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N","source":"GitHub_M"},"assigner":"GitHub_M","products":["withastro astro"],"affected":[{"vendor":"withastro","product":"astro","versions":[{"version":"< 10.0.2","status":"affected"}]}],"references":["https://github.com/withastro/astro/security/advisories/GHSA-mr6q-rp88-fx84","https://github.com/withastro/astro/pull/15959","https://github.com/withastro/astro/commit/335a204161f5a7293c128db570901d4f8639c6ed","https://github.com/withastro/astro/releases/tag/%40astrojs%2Fvercel%4010.0.2"],"weaknesses":["CWE-441","CWE-862"],"ingestedAt":"2026-10-29T20:11:40.391Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/33xxx/CVE-2026-33768.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-33768","state":"PUBLISHED","datePublished":"2026-03-24T18:40:12.549Z","dateUpdated":"2026-03-24T18:53:24.069Z","assignerShortName":"GitHub_M","assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateReserved":"2026-03-23T18:30:14.127Z"},"containers":{"cna":{"title":"Astro: Unauthenticated Path Override via `x-astro-path` / `x_astro_path`","descriptions":[{"lang":"en","value":"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":[{"vendor":"withastro","product":"astro","versions":[{"version":"< 10.0.2","status":"affected"}]}],"references":[{"url":"https://github.com/withastro/astro/security/advisories/GHSA-mr6q-rp88-fx84","name":"https://github.com/withastro/astro/security/advisories/GHSA-mr6q-rp88-fx84","tags":["x_refsource_CONFIRM"]},{"url":"https://github.com/withastro/astro/pull/15959","name":"https://github.com/withastro/astro/pull/15959","tags":["x_refsource_MISC"]},{"url":"https://github.com/withastro/astro/commit/335a204161f5a7293c128db570901d4f8639c6ed","name":"https://github.com/withastro/astro/commit/335a204161f5a7293c128db570901d4f8639c6ed","tags":["x_refsource_MISC"]},{"url":"https://github.com/withastro/astro/releases/tag/%40astrojs%2Fvercel%4010.0.2","name":"https://github.com/withastro/astro/releases/tag/%40astrojs%2Fvercel%4010.0.2","tags":["x_refsource_MISC"]}],"metrics":[{"cvssV3_1":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":6.5,"baseSeverity":"MEDIUM","confidentialityImpact":"LOW","integrityImpact":"LOW","privilegesRequired":"NONE","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N","version":"3.1"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-441","lang":"en","description":"CWE-441: Unintended Proxy or Intermediary ('Confused Deputy')","type":"CWE"}]},{"descriptions":[{"cweId":"CWE-862","lang":"en","description":"CWE-862: Missing Authorization","type":"CWE"}]}],"providerMetadata":{"shortName":"GitHub_M","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateUpdated":"2026-03-24T18:40:12.549Z"},"source":{"advisory":"GHSA-mr6q-rp88-fx84","discovery":"UNKNOWN"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-03-24T18:53:09.129100Z","id":"CVE-2026-33768","options":[{"Exploitation":"poc"},{"Automatable":"yes"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-03-24T18:53:24.069Z"}}]}}}