CVE-2021-43693

9.8 CRITICAL

📋 TL;DR

CVE-2021-43693 is a file inclusion vulnerability in Vesta Control Panel that allows attackers to include arbitrary files from the server. This can lead to remote code execution by including malicious PHP files. All Vesta installations using version 0.9.8-24 with the vulnerable web/add/user/index.php file are affected.

💻 Affected Systems

Products:
  • Vesta Control Panel
Versions: 0.9.8-24
Operating Systems: Linux distributions where Vesta is installed
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects installations with the web interface enabled and accessible. The vulnerability is in a specific file path that may be accessible even without authentication.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Full server compromise with root-level access, data exfiltration, and complete control over the hosting environment and all hosted websites.

🟠

Likely Case

Remote code execution leading to website defacement, data theft, malware deployment, and creation of backdoors for persistent access.

🟢

If Mitigated

Limited impact with proper file permissions, web application firewalls, and restricted file upload capabilities preventing successful exploitation.

🌐 Internet-Facing: HIGH - The vulnerability is in a web-accessible file that can be exploited remotely without authentication.
🏢 Internal Only: MEDIUM - Internal attackers could exploit this if they have network access to the Vesta web interface.

🎯 Exploit Status

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

The vulnerability is straightforward to exploit with publicly available proof-of-concept code. Attackers can use simple HTTP requests to trigger the file inclusion.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Versions after 0.9.8-24

Vendor Advisory: https://github.com/serghey-rodin/vesta/issues/2052

Restart Required: No

Instructions:

1. Update Vesta Control Panel to the latest version. 2. Run: v-update-sys-vesta-all. 3. Verify the web/add/user/index.php file has been patched.

🔧 Temporary Workarounds

Remove vulnerable file

linux

Temporarily remove or rename the vulnerable file to prevent exploitation

mv /usr/local/vesta/web/add/user/index.php /usr/local/vesta/web/add/user/index.php.bak

Restrict file access

linux

Use web server configuration to block access to the vulnerable path

# Add to Apache config: <Location "/add/user/index.php">
    Order deny,allow
    Deny from all
</Location>
# Add to Nginx config: location ~ /add/user/index.php { deny all; }

🧯 If You Can't Patch

  • Implement strict web application firewall rules to block requests to /add/user/index.php with suspicious parameters
  • Disable the Vesta web interface entirely and use only command-line administration until patching is possible

🔍 How to Verify

Check if Vulnerable:

Check if file /usr/local/vesta/web/add/user/index.php exists and contains vulnerable code patterns. Test with controlled file inclusion attempt using curl: curl -k 'https://target/add/user/index.php?some_parameter=../../../../etc/passwd'

Check Version:

v-list-sys-vesta | grep Vesta

Verify Fix Applied:

Verify the vulnerable file has been updated or removed. Check Vesta version with: v-list-sys-vesta

📡 Detection & Monitoring

Log Indicators:

  • HTTP requests to /add/user/index.php with file path traversal patterns
  • Web server error logs showing file inclusion attempts
  • Unusual PHP file execution from unexpected locations

Network Indicators:

  • HTTP GET requests containing '../../' patterns in URL parameters
  • Requests to the vulnerable endpoint from unusual IP addresses

SIEM Query:

source="web_access_logs" AND (url="/add/user/index.php" OR url LIKE "%/add/user/index.php%") AND (params LIKE "%..%" OR params LIKE "%../../%")

🔗 References

📤 Share & Export