CVE-2025-64481

N/A Unknown

📋 TL;DR

Datasette versions 0.65.1 and below, and 1.0a0 through 1.0a19 contain an open redirect vulnerability where requests to paths starting with double slashes (//example.com/) redirect users to external URLs. This allows attackers to redirect users to malicious sites while appearing to come from the legitimate Datasette instance. All users running affected versions with internet-facing deployments are vulnerable.

💻 Affected Systems

Products:
  • Datasette
Versions: 0.65.1 and below, 1.0a0 through 1.0a19
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects deployments where Datasette is accessible to users (not just localhost). The vulnerability requires the trailing slash in the path.

⚠️ Manual Verification Required

This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.

Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).

🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could redirect users to phishing sites that steal credentials or deliver malware, potentially compromising user accounts and systems.

🟠

Likely Case

Attackers use the redirect for phishing campaigns, tricking users into visiting malicious sites while appearing to come from a trusted Datasette instance.

🟢

If Mitigated

With proper proxy controls or patching, the redirect is blocked or fixed, preventing exploitation.

🌐 Internet-Facing: MEDIUM
🏢 Internal Only: LOW

🎯 Exploit Status

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

Exploitation is trivial - simply crafting a URL with double slashes triggers the redirect. No authentication or special privileges required.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 0.65.2 or 1.0a21

Vendor Advisory: https://github.com/simonw/datasette/security/advisories/GHSA-w832-gg5g-x44m

Restart Required: Yes

Instructions:

1. Update Datasette to version 0.65.2 or 1.0a21 using pip: 'pip install --upgrade datasette==0.65.2' or 'pip install --upgrade datasette==1.0a21'. 2. Restart the Datasette service.

🔧 Temporary Workarounds

Proxy URL normalization

all

Configure reverse proxy (nginx, Apache, etc.) to normalize double slashes to single slashes in incoming URLs

For nginx: location / { rewrite ^//(.*)$ /$1 permanent; }
For Apache: RewriteRule ^//(.*)$ /$1 [R=301,L]

🧯 If You Can't Patch

  • Implement the proxy workaround to normalize // to / in URLs
  • Restrict access to Datasette to trusted networks only using firewall rules

🔍 How to Verify

Check if Vulnerable:

Test by accessing your Datasette instance with a URL like https://your-datasette.example.com//external-site.com/. If it redirects to the external site, you're vulnerable.

Check Version:

datasette --version

Verify Fix Applied:

After patching, test the same URL - it should not redirect to an external site and should return a 404 or proper response.

📡 Detection & Monitoring

Log Indicators:

  • HTTP requests containing '//' in the path
  • 301/302 redirect responses to external domains

Network Indicators:

  • HTTP redirects from Datasette to unexpected external domains

SIEM Query:

url:*/\/\/* AND (response_code:301 OR response_code:302)

🔗 References

📤 Share & Export