CVE-2025-54793

6.1 MEDIUM

📋 TL;DR

Astro web framework versions 5.2.0 through 5.12.7 contain an open redirect vulnerability in trailing slash redirection logic when handling paths with double slashes. Attackers can craft URLs to redirect users to arbitrary external domains, increasing phishing and social engineering risks. This affects sites using on-demand rendering (SSR) with Node or Cloudflare adapters, but not static sites or sites deployed to Netlify or Vercel.

💻 Affected Systems

Products:
  • Astro
Versions: 5.2.0 through 5.12.7
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects sites using on-demand rendering (SSR) with Node.js or Cloudflare adapters. Static sites and sites deployed to Netlify or Vercel are not vulnerable.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Users are redirected to malicious phishing sites that steal credentials, financial information, or install malware, leading to account compromise, data breaches, or ransomware infections.

🟠

Likely Case

Attackers use crafted URLs in phishing campaigns to redirect users to fake login pages or malicious sites, potentially harvesting credentials or distributing malware.

🟢

If Mitigated

With proper patching or workarounds, the vulnerability is eliminated, preventing any redirect manipulation while maintaining normal site functionality.

🌐 Internet-Facing: HIGH
🏢 Internal Only: LOW

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Exploitation requires no authentication and involves simple URL crafting. The vulnerability is publicly disclosed with technical details available.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 5.12.8

Vendor Advisory: https://github.com/withastro/astro/security/advisories/GHSA-cq8c-xv66-36gw

Restart Required: No

Instructions:

1. Update Astro to version 5.12.8 or later using npm: npm update astro@latest. 2. Verify the update completed successfully. 3. Test site functionality to ensure no regression issues.

🔧 Temporary Workarounds

Network-level redirect blocking

all

Block outgoing redirect responses with Location headers starting with '//' at the network level (firewall, WAF, or proxy).

🧯 If You Can't Patch

  • Implement network-level blocking of redirects with Location headers starting with '//' using WAF rules or firewall policies.
  • Monitor web server logs for suspicious redirect patterns and implement alerting for attempted exploitation.

🔍 How to Verify

Check if Vulnerable:

Check if your Astro version is between 5.2.0 and 5.12.7 and you're using Node.js or Cloudflare adapter with SSR. Test with crafted URL: https://yourdomain.com//external-site.com/ and observe if redirect occurs.

Check Version:

npm list astro | grep astro

Verify Fix Applied:

After updating to 5.12.8+, test the same crafted URL to confirm no redirect occurs. The request should return a 404 or appropriate error instead of redirecting.

📡 Detection & Monitoring

Log Indicators:

  • HTTP 301/302 redirect responses with Location headers containing '//' followed by external domains
  • Unusual spike in redirect requests to unfamiliar paths

Network Indicators:

  • Outbound HTTP redirects to external domains originating from crafted URLs with double slashes

SIEM Query:

http.status_code IN (301, 302) AND http.location STARTSWITH '//'

🔗 References

📤 Share & Export