Description
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.
Published: 2026-07-08
Score: 8.2 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Astro framework version 6.4.7 evaluates authorization on a pathname that has been partially decoded after the decoder reaches its set iteration limit. When the framework later rewrites routes, an additional decodeURI() call is performed, potentially converting the request to a protected path. This disparity allows an attacker to construct a URL that bypasses the initial authorization check and reaches privileged content, representing a serious authorization bypass flaw (CWE-647).

Affected Systems

The vulnerability exists in the withastro:astro web framework, specifically affecting Astro version 6.4.7 and earlier releases until the upstream fix was released in 6.4.8.

Risk and Exploitability

The CVSS score of 8.2 classifies the issue as high severity, while the EPSS score of <1% indicates a very low current probability of exploitation. The vulnerability is not listed in the CISA KEV catalog. The likely exploitation path involves an attacker sending a crafted URL that triggers the decoder iteration limit before authorization, then relying on the later rewrite step to resolve the request to a protected route; this inference is based on the description provided.

Generated by OpenCVE AI on July 26, 2026 at 17:23 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade to Astro 6.4.8 or a later release to apply the fix for the authorization bypass
  • Ensure that authentication is performed before any URL decoding or rewrite operations occur during request processing
  • Add check that validates user permissions against the fully canonicalized target path after all rewrites

Generated by OpenCVE AI on July 26, 2026 at 17:23 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-vj59-8hwv-xxmv Astro: Authorization Bypass via Decode Iteration Limit and Rewrite Path Canonicalization Mismatch
History

Thu, 09 Jul 2026 15:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Wed, 08 Jul 2026 18:45:00 +0000

Type Values Removed Values Added
First Time appeared Withastro
Withastro astro
Vendors & Products Withastro
Withastro astro

Wed, 08 Jul 2026 17:00:00 +0000

Type Values Removed Values Added
Description 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.
Title Astro 6.4.7 Authorization Bypass via Decode Iteration Limit and Rewrite Path Canonicalization Mismatch
Weaknesses CWE-647
References
Metrics cvssV3_1

{'score': 8.2, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-07-09T14:38:54.995Z

Reserved: 2026-07-06T15:34:16.917Z

Link: CVE-2026-59731

cve-icon Vulnrichment

Updated: 2026-07-09T14:38:42.917Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-07-26T17:30:17Z

Weaknesses
  • CWE-647

    Use of Non-Canonical URL Paths for Authorization Decisions