Astro's middleware authentication checks based on url.pathname can be bypassed via url encoded values
- Severity:
- Medium
Description
A mismatch exists between how Astro normalizes request paths for routing/rendering and how the application’s middleware reads the path for validation checks. Astro internally applies decodeURI() to determine which route to render, while the middleware uses context.url.pathname without applying the same normalization (decodeURI).
Recommendation
Update the astro package to the latest compatible version. Followings are version details:
- Affected version(s): < 5.15.8
- Patched version(s): 5.15.8
References
Related Issues
- Astro Cloudflare adapter has Stored Cross-site Scripting vulnerability in /_image endpoint - CVE-2025-65019
- Astro allows unauthorized third-party images in _image endpoint - CVE-2025-55303
- Astros's duplicate trailing slash feature leads to an open redirection security issue - CVE-2025-54793
- Astro's server source code is exposed to the public if sourcemaps are enabled - CVE-2024-56159
- Tags:
- npm
- astro
Anything's wrong? Let us know Last updated on November 27, 2025