CVE-2023-3173
📋 TL;DR
CVE-2023-3173 is an authentication brute-force vulnerability in froxlor web hosting control panel. Attackers can bypass rate limiting to perform unlimited login attempts, potentially compromising admin accounts. All froxlor installations prior to version 2.0.20 are affected.
💻 Affected Systems
- froxlor
📦 What is this software?
Froxlor by Froxlor
⚠️ Risk & Real-World Impact
Worst Case
Complete system compromise through admin account takeover, leading to data theft, service disruption, or lateral movement to underlying infrastructure.
Likely Case
Unauthorized access to froxlor admin panel, allowing configuration changes, user account manipulation, and potential privilege escalation.
If Mitigated
Failed login attempts logged but no successful compromise due to strong passwords and network controls.
🎯 Exploit Status
Simple HTTP POST requests to login endpoint with different credentials. No authentication required to attempt exploitation.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 2.0.20
Vendor Advisory: https://github.com/froxlor/froxlor/commit/464216072456efb35b4541c58e7016463dfbd9a6
Restart Required: No
Instructions:
1. Backup current froxlor installation and database. 2. Download froxlor 2.0.20 or newer from official repository. 3. Replace existing files with new version. 4. Run database update if prompted. 5. Verify login functionality.
🔧 Temporary Workarounds
Web Application Firewall Rate Limiting
linuxImplement rate limiting at WAF or reverse proxy level to restrict login attempts.
# Example nginx rate limiting
limit_req_zone $binary_remote_addr zone=login:10m rate=5r/m;
location /login {
limit_req zone=login burst=10 nodelay;
}
IP-based Access Restriction
allRestrict access to froxlor admin interface to trusted IP ranges only.
# Apache example
Order Deny,Allow
Deny from all
Allow from 192.168.1.0/24
# Nginx example
allow 192.168.1.0/24;
deny all;
🧯 If You Can't Patch
- Implement network-level rate limiting using firewall rules or WAF
- Enforce strong password policies and enable multi-factor authentication if available
🔍 How to Verify
Check if Vulnerable:
Check froxlor version in admin panel or via command: grep 'version' /var/www/froxlor/lib/version.php
Check Version:
grep "\$version" /var/www/froxlor/lib/version.php | cut -d"'" -f2
Verify Fix Applied:
Verify version is 2.0.20 or higher and test login rate limiting by attempting multiple failed logins.
📡 Detection & Monitoring
Log Indicators:
- Multiple failed login attempts from same IP in short timeframe
- Successful login after many failed attempts from same source
Network Indicators:
- High volume of POST requests to /login endpoint
- Unusual login patterns outside business hours
SIEM Query:
source="froxlor.log" ("login failed" OR "authentication failure") | stats count by src_ip | where count > 10