CVE-2025-23001

6.1 MEDIUM

📋 TL;DR

A Host header injection vulnerability in CTFd 3.7.5 allows attackers to manipulate the Host header in HTTP requests. This can lead to phishing attacks, password reset hijacking, or cache poisoning. Affects CTFd 3.7.5 installations with improper NGINX configuration.

💻 Affected Systems

Products:
  • CTFd
Versions: 3.7.5
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Vulnerable in default configuration. Supplier states vulnerability can be prevented by proper NGINX configuration with server_name directive.

⚠️ 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 malicious sites for credential theft, hijack password reset functionality, or poison caches to serve malicious content.

🟠

Likely Case

Phishing attacks where users are redirected to attacker-controlled domains that mimic legitimate CTFd interfaces.

🟢

If Mitigated

No impact if NGINX is properly configured with server_name directive to validate Host headers.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Proof of concept available demonstrating Host header manipulation. Exploitation requires no authentication.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 3.7.6

Vendor Advisory: https://blog.ctfd.io/ctfd-3-7-6/

Restart Required: Yes

Instructions:

1. Backup current CTFd installation. 2. Update to CTFd 3.7.6 via git pull or fresh installation. 3. Restart CTFd service. 4. Verify version is 3.7.6.

🔧 Temporary Workarounds

NGINX server_name configuration

linux

Configure NGINX to validate Host headers using server_name directive

Edit NGINX config: set 'server_name your-ctfd-domain.com;' in server block

🧯 If You Can't Patch

  • Implement strict Host header validation at reverse proxy/load balancer level
  • Monitor for suspicious Host header values in HTTP logs

🔍 How to Verify

Check if Vulnerable:

Check if running CTFd 3.7.5 and NGINX lacks proper server_name configuration

Check Version:

cd /path/to/ctfd && python -c "import ctfd; print(ctfd.__version__)"

Verify Fix Applied:

Confirm CTFd version is 3.7.6 and NGINX has server_name configured

📡 Detection & Monitoring

Log Indicators:

  • HTTP requests with unusual Host headers
  • Multiple failed login attempts from unexpected domains

Network Indicators:

  • HTTP traffic with manipulated Host headers
  • Redirects to unexpected domains

SIEM Query:

http.host != "expected-domain.com" AND http.status_code = 200

🔗 References

📤 Share & Export