Skip to main content

Astro CVE-2026-59731

| EUVDEUVD-2026-42341 HIGH
Use of Non-Canonical URL Paths for Authorization Decisions (CWE-647)
2026-07-08 GitHub_M GHSA-vj59-8hwv-xxmv
8.2
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Identify protected Astro route
  2. Delivery
    Craft multiply-encoded pathname
  3. Exploit
    Auth check sees under-decoded path
  4. Execution
    Passes authorization gate
  5. Persist
    Rewrite decodeURI() resolves protected route
  6. Impact
    Protected 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.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

astro 6.4.7, < 6.4.8

Affected Packages

npm astro fix: 6.4.8

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

Vendor (GitHub_M) PRIMARY 8.2 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N
vuln.today AI 8.2 HIGH

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.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
Low
Availability
None

Lifecycle Timeline

1
Patch available
Jul 08, 2026 - 18:02 EUVD

DescriptionCVE.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

Why It Matters

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.

Business Impact: Severe
Compensating Controls

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

EPSS Score
0.3%
Top 82% exploitable
Prevalence
Medium
popular JavaScript site framework, common but not core infrastructure
Threat Intel
1
1 source
Exploit
POC
Public exploit code exists
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA GitHub

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC Yes
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Out-of-Cycle
Exploitation
Poc
System Exposure· derived
Open
Automatable
Yes
Human Impact
Very High
Technical Impact
Partial

Priority Score

61
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +41
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

More in Astro

View all
CVE-2018-7180 CRITICAL POC
9.8 Feb 17

SQL Injection exists in the Saxum Astro 4.0.14 component for Joomla!. Rated critical severity (CVSS 9.8), this vulnerabi

CVE-2026-25545 HIGH POC
8.6 Feb 24

Astro web framework versions prior to 9.5.4 contain a server-side request forgery vulnerability in error page handling t

CVE-2024-56159 HIGH POC
7.8 Dec 19

Astro is a web framework for content-driven websites. Rated high severity (CVSS 7.8), this vulnerability is remotely exp

CVE-2025-59837 HIGH POC
7.2 Oct 28

Server-side request forgery in Astro's built-in image proxy lets unauthenticated remote attackers force the server to fe

CVE-2025-58179 HIGH POC
7.2 Sep 05

Astro is a web framework for content-driven websites. Rated high severity (CVSS 7.2), this vulnerability is remotely exp

CVE-2025-55303 MEDIUM POC
6.9 Aug 19

Astro is a web framework for content-driven websites. Rated medium severity (CVSS 6.9), this vulnerability is remotely e

CVE-2025-64765 MEDIUM POC
6.9 Nov 19

Astro is a web framework. Rated medium severity (CVSS 6.9), this vulnerability is remotely exploitable, no authenticatio

CVE-2025-64525 MEDIUM POC
6.5 Nov 13

Astro is a web framework. Rated medium severity (CVSS 6.5), this vulnerability is remotely exploitable, no authenticatio

CVE-2025-61925 MEDIUM POC
6.5 Oct 10

Unvalidated reflection of the X-Forwarded-Host header in Astro (versions before 5.14.3) lets remote, unauthenticated att

CVE-2026-27829 MEDIUM POC
6.5 Feb 26

Astro web framework versions 9.0.0 through 9.5.3 fail to validate remote image domains when the inferSize option is enab

CVE-2026-84376 MEDIUM POC
6.3 Sep 02

Base-path prefix bypass in Astro prior to 7.2.4 allows unauthenticated remote attackers to reach protected server-side r

CVE-2025-65019 MEDIUM POC
6.1 Nov 19

Astro is a web framework. Rated medium severity (CVSS 5.4), this vulnerability is remotely exploitable, no authenticatio

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy