CVE-2018-11138

9.8 CRITICAL

📋 TL;DR

CVE-2018-11138 is a critical remote code execution vulnerability in Quest KACE System Management Appliance. It allows unauthenticated attackers to execute arbitrary commands on affected systems by exploiting an insecure script. Organizations using Quest KACE System Management Appliance 8.0.318 are affected.

💻 Affected Systems

Products:
  • Quest KACE System Management Appliance
Versions: 8.0.318
Operating Systems: Linux-based appliance OS
Default Config Vulnerable: ⚠️ Yes
Notes: The vulnerable script '/common/download_agent_installer.php' is accessible by default to anonymous users.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete system compromise leading to data theft, lateral movement within the network, ransomware deployment, or persistent backdoor installation.

🟠

Likely Case

Unauthenticated attackers gaining shell access to install malware, exfiltrate sensitive data, or pivot to other systems in the network.

🟢

If Mitigated

Limited impact if network segmentation isolates the appliance and strict access controls prevent exploitation attempts.

🌐 Internet-Facing: HIGH - The vulnerability is remotely exploitable without authentication, making internet-facing systems immediate targets.
🏢 Internal Only: HIGH - Even internally, any attacker with network access can exploit this without credentials.

🎯 Exploit Status

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

Public exploit code is available on Exploit-DB (44950), making exploitation trivial for attackers.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Update to version 8.0.319 or later

Vendor Advisory: https://support.quest.com/kace-systems-management-appliance/kb/293336

Restart Required: Yes

Instructions:

1. Log into the KACE appliance admin interface. 2. Navigate to Settings > Appliance > Updates. 3. Apply the latest available update (8.0.319+). 4. Restart the appliance as prompted.

🔧 Temporary Workarounds

Block access to vulnerable script

linux

Use web server configuration or firewall rules to block access to '/common/download_agent_installer.php'

# Apache: RewriteRule ^/common/download_agent_installer\.php$ - [F]
# Nginx: location ~ /common/download_agent_installer\.php$ { deny all; }

Network segmentation

linux

Isolate the KACE appliance from untrusted networks and restrict access to authorized IPs only

# Example iptables rule: iptables -A INPUT -p tcp --dport 443 -s 10.0.0.0/8 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j DROP

🧯 If You Can't Patch

  • Immediately restrict network access to the appliance using firewall rules to allow only trusted IP addresses
  • Monitor for exploitation attempts by reviewing web server logs for access to '/common/download_agent_installer.php'

🔍 How to Verify

Check if Vulnerable:

Check if the file '/common/download_agent_installer.php' exists and is accessible without authentication via curl: curl -k https://<appliance-ip>/common/download_agent_installer.php

Check Version:

ssh admin@<appliance-ip> 'cat /etc/version' or check via web interface at https://<appliance-ip>/adminui

Verify Fix Applied:

After patching, verify the script returns an authentication error or 404 when accessed anonymously

📡 Detection & Monitoring

Log Indicators:

  • Web server logs showing GET/POST requests to '/common/download_agent_installer.php' with command injection parameters
  • System logs showing unexpected process execution or shell spawns

Network Indicators:

  • HTTP requests to the vulnerable endpoint with suspicious parameters like 'cmd=', 'exec=', or shell metacharacters

SIEM Query:

source="web_access.log" AND uri="/common/download_agent_installer.php" AND (param="cmd" OR param="exec" OR param="system")

🔗 References

📤 Share & Export