Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify protected Astro route
-
DeliveryCraft multiply-encoded pathname
-
ExploitAuth check sees under-decoded path
-
ExecutionPasses authorization gate
-
PersistRewrite decodeURI() resolves protected route
-
ImpactProtected content disclosed
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V6 - Authentication Use of non-canonical URL paths
|
| Exploitation Conditions | Exploitation requires an Astro 6.4.7 application that enforces access control on routes via the framework's own authorization/middleware layer and uses rewrite-based route matching - the flaw lives in the gap between the auth stage (which reads a path stuck at the iterative decoder limit) and the later decodeURI() rewrite match. The attacker must know or guess a protected route and construct a pathname whose encoding survives past the decoder iteration cap so authorization sees a non-matching path while rewrite matching resolves it to the protected route. Limiting factors: the application must actually rely on Astro-level route authorization (deployments that gate sensitive routes at an upstream proxy or backend are not bypassed this way), and impact is bounded to routes reachable through the rewrite-matching path; per CVSS PR:N/UI:N no authentication or user interaction is needed. |
| Impact | The supplied CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N, base 8.2) describes a network-reachable, low-complexity, unauthenticated bypass with high confidentiality and low integrity impact and no availability impact - consistent with unauthorized read/limited-write access to guarded routes rather than full compromise. No EPSS score, KEV entry, POC, or SSVC decision data was provided, so exploitation probability and automatability cannot be independently quantified; the absence of KEV means there is no evidence of active exploitation, and the absence of a POC means exploit maturity is unproven. The realistic priority is elevated for any Astro deployment that relies on framework-level route authorization for sensitive content, but lower where access control is enforced by a separate upstream layer (reverse proxy, CDN, or backend auth). Because the mechanism depends on how the specific application maps protected routes, real-world impact varies by deployment and should be validated against the vendor advisory. |
| Exploit ScenarioDerived | An attacker crafts a URL to a protected Astro route using multiply percent-encoded path segments so that the pathname still looks unprivileged after Astro's capped iterative decoding, passing the authorization check. Astro's rewrite route matcher then applies its extra decodeURI() pass, canonicalizes the path to the guarded route, and serves protected content to the unauthenticated attacker. No POC has been published, but the low attack complexity and network vector make crafting such a request straightforward once the route-mapping behavior is known. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 08, 2026
Authorization bypass in the Astro web framework version 6.4.7 lets remote unauthenticated attackers reach protected routes by exploiting an inconsistency between how the framework decodes URL paths for auth decisions versus route matching. Because authorization runs against a path that hit the iterative URL-decoder limit while later rewrite matching applies an extra decodeURI(), a request that appears benign at the auth gate resolves to a guarded route afterward, exposing protected content. No public exploit has been identified at time of analysis, but the fix in 6.4.8 and a published GitHub Security Advisory confirm the flaw.
RemediationAI
Vendor-released patch: 6.4.8 - upgrade Astro to 6.4.8 or later (npm install astro@6.4.8) as the primary and complete fix, per the release at https://github.com/withastro/astro/releases/tag/astro@6.4.8 and advisory GHSA-vj59-8hwv-xxmv. If an immediate upgrade is not possible, enforce authorization at a layer that sees the fully canonicalized path - for example, add reverse-proxy or CDN rules that normalize and fully percent-decode the URL before applying access rules, or block requests containing multiply-encoded sequences (e.g. %25 that decodes to a further %-escape) to protected path prefixes; the trade-off is that overly strict encoding filters can break legitimately encoded URLs and must be tested. As a stopgap, move sensitive route protection out of Astro's in-framework matching into an independent backend auth check keyed on the decoded route, accepting the added integration effort. Review the changes in PR https://github.com/withastro/astro/pull/17109 (commit 27c80ea92248993e5fce94b2c26d87d611ab6785) to validate any custom middleware.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in npm
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Astro is a JavaScript/TypeScript web framework for content-driven and server-rendered websites (CPE cpe:2.3:a:withastro:astro), where middleware and route guards commonly enforce access control before a request is dispatched to a page or endpoint. The root cause maps to CWE-647 (Use of Non-Canonical URL Paths for Authorization Decisions): Astro's request pipeline caps the number of iterative percent-decoding passes on the pathname, so authorization evaluates a still-partially-encoded path, but the subsequent rewrite route-matching stage performs an additional decodeURI() pass. This second decode can canonicalize the path into one that matches a protected route the authorization layer never saw, producing a classic parser-differential / path-normalization desync between the security check and the routing logic.
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:H/I:L/A:N
Remote, unauthenticated, low-complexity path-normalization bypass reaching protected routes gives high confidentiality and low integrity impact with no availability effect and no scope change.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
Astro is a web framework for content-driven websites. Version 6.4.7 performs authorization decisions on a partially decoded pathname after reaching the iterative URL decoder limit, while later rewrite route matching performs an additional decodeURI() operation and can resolve the request to a protected route. This issue is fixed in version 6.4.8.
Executive ViewAI
Astro web framework 6.4.7 and earlier contain an authorization bypass that allows any internet user to access protected application routes and sensitive data. The vulnerability exploits inconsistent URL decoding between security checks and route matching. Organizations using affected Astro versions face immediate exposure of protected functionality and confidential information to unauthenticated attackers.
Vendor-released patch: Astro version 6.4.8 or later. Interim mitigation if immediate patching is not feasible: implement independent reverse-proxy authentication verification, and restrict network access to Astro instances pending deployment of the patch.
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
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
Astro is a web framework. Rated medium severity (CVSS 5.4), this vulnerability is remotely exploitable, no authenticatio
EUVD-2026-42341
GHSA-vj59-8hwv-xxmv
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB