CVE-2020-22000

8.0 HIGH

📋 TL;DR

CVE-2020-22000 allows authenticated attackers to execute arbitrary operating system commands on HomeAutomation systems through a vulnerable plugin. Combined with a CSRF vulnerability, this can be exploited remotely to gain shell access as the web server user. This affects HomeAutomation version 3.3.2 installations with the custom command plugin enabled.

💻 Affected Systems

Products:
  • HomeAutomation
Versions: 3.3.2
Operating Systems: Linux, Windows, Any OS running PHP
Default Config Vulnerable: ⚠️ Yes
Notes: Requires the custom command v0.1 plugin to be installed and enabled

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Full system compromise leading to data theft, ransomware deployment, or use as a pivot point into internal networks

🟠

Likely Case

Web server compromise leading to data exfiltration, installation of backdoors, or cryptocurrency mining

🟢

If Mitigated

Limited impact with proper network segmentation and least privilege controls

🌐 Internet-Facing: HIGH - Exploitable via CSRF with authenticated access, making internet-facing instances particularly vulnerable
🏢 Internal Only: MEDIUM - Still exploitable by authenticated users or via phishing attacks

🎯 Exploit Status

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

Exploit requires authenticated access but can be combined with CSRF for remote exploitation

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Unknown

Vendor Advisory: Not available

Restart Required: No

Instructions:

1. Remove or disable the custom command plugin
2. Delete /system/systemplugins/customcommand/ directory
3. Check for any unauthorized modifications to the system

🔧 Temporary Workarounds

Disable Custom Command Plugin

linux

Remove or disable the vulnerable plugin to prevent exploitation

rm -rf /path/to/homeautomation/system/systemplugins/customcommand/

Input Validation Filter

all

Add input sanitization to the customcommand.plugin.php file

Edit customcommand.plugin.php and replace exec() calls with escapeshellarg() or similar sanitization

🧯 If You Can't Patch

  • Implement strict network segmentation to isolate HomeAutomation system
  • Apply web application firewall rules to block requests containing 'set_command_on' or 'set_command_off' parameters

🔍 How to Verify

Check if Vulnerable:

Check if /system/systemplugins/customcommand/customcommand.plugin.php exists and contains unsanitized exec() calls

Check Version:

Check HomeAutomation version in admin panel or configuration files

Verify Fix Applied:

Verify the customcommand.plugin.php file no longer exists or has been properly sanitized

📡 Detection & Monitoring

Log Indicators:

  • POST requests to customcommand.plugin.php with set_command_on/set_command_off parameters
  • Unusual process execution from web server user
  • Suspicious shell commands in web logs

Network Indicators:

  • HTTP POST requests containing shell metacharacters or commands
  • Outbound connections from web server to unusual destinations

SIEM Query:

source="web_logs" AND (uri="*customcommand.plugin.php*" AND (param="*set_command_on*" OR param="*set_command_off*"))

🔗 References

📤 Share & Export