CVE-2019-18418

9.8 CRITICAL

📋 TL;DR

CVE-2019-18418 is a critical authentication bypass vulnerability in ClonOS WEB control panel that allows remote attackers to change any user's password without authentication. This occurs because the clonos.php endpoint lacks proper session management. All systems running ClonOS WEB control panel 19.09 are affected.

💻 Affected Systems

Products:
  • ClonOS WEB control panel
Versions: 19.09
Operating Systems: FreeBSD-based systems where ClonOS is typically deployed
Default Config Vulnerable: ⚠️ Yes
Notes: All installations of ClonOS WEB control panel version 19.09 are vulnerable regardless of configuration.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete system compromise where attackers gain administrative access to the control panel, potentially leading to full control of virtual machines, containers, and underlying infrastructure.

🟠

Likely Case

Attackers gain administrative access to the ClonOS control panel, allowing them to create/modify/delete virtual machines, containers, and system configurations.

🟢

If Mitigated

With proper network segmentation and access controls, impact is limited to the ClonOS management interface only.

🌐 Internet-Facing: HIGH - The vulnerability allows unauthenticated remote exploitation, making internet-facing instances extremely vulnerable.
🏢 Internal Only: HIGH - Even internally, any user with network access to the ClonOS interface can exploit this vulnerability.

🎯 Exploit Status

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

Exploitation requires sending a simple HTTP POST request to the vulnerable endpoint with minimal technical knowledge.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Versions after 19.09

Vendor Advisory: https://github.com/Andhrimnirr/ClonOS-WEB-control-panel-multi-vulnerability

Restart Required: No

Instructions:

1. Upgrade to a version after 19.09. 2. Verify the patch by checking that clonos.php now requires proper authentication. 3. Change all user passwords as they may have been compromised.

🔧 Temporary Workarounds

Block access to vulnerable endpoint

all

Use web server configuration or firewall rules to block access to clonos.php

# For nginx: location ~ clonos\.php$ { deny all; }
# For Apache: <Files "clonos.php"> Require all denied </Files>
# For iptables: iptables -A INPUT -p tcp --dport 80 -m string --string "clonos.php" --algo bm -j DROP

Implement reverse proxy with authentication

linux

Place ClonOS behind a reverse proxy that requires authentication before reaching the vulnerable endpoint

# Example nginx config with basic auth: location / { auth_basic "Restricted"; auth_basic_user_file /etc/nginx/.htpasswd; proxy_pass http://clonos_backend; }

🧯 If You Can't Patch

  • Isolate the ClonOS management interface to a dedicated VLAN with strict access controls
  • Implement network-based intrusion detection to monitor for password change attempts on clonos.php

🔍 How to Verify

Check if Vulnerable:

Send a POST request to /clonos.php with password change parameters without authentication. If it succeeds, the system is vulnerable.

Check Version:

Check the ClonOS version in the web interface or configuration files. The exact command depends on installation method.

Verify Fix Applied:

Attempt the same POST request after patching. It should return an authentication error or redirect to login.

📡 Detection & Monitoring

Log Indicators:

  • HTTP POST requests to clonos.php without preceding authentication
  • Successful password changes from unauthenticated IP addresses
  • Multiple failed login attempts followed by password change requests

Network Indicators:

  • Unusual POST requests to clonos.php endpoint
  • Traffic patterns showing password change requests without authentication

SIEM Query:

source="web_logs" AND uri="/clonos.php" AND method="POST" AND NOT (user!="-" OR auth_success="true")

🔗 References

📤 Share & Export