CVE-2018-11140

9.8 CRITICAL

📋 TL;DR

This vulnerability allows attackers to execute arbitrary SQL commands on Quest KACE System Management Appliances through unsanitized input in the 'reportID' parameter. Organizations using the affected version of this appliance are at risk of database compromise and potential system takeover.

💻 Affected Systems

Products:
  • Quest KACE System Management Appliance
Versions: 8.0.318 and earlier
Operating Systems: Appliance OS
Default Config Vulnerable: ⚠️ Yes
Notes: The vulnerability exists in the default web interface configuration.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Full database compromise leading to credential theft, data exfiltration, and complete system control through SQL injection to command execution chaining.

🟠

Likely Case

Database information disclosure, privilege escalation, and potential lateral movement within the network.

🟢

If Mitigated

Limited impact with proper input validation, database permissions, and network segmentation in place.

🌐 Internet-Facing: HIGH
🏢 Internal Only: HIGH

🎯 Exploit Status

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

Error-based SQL injection requires authentication but is straightforward to exploit once authenticated.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 8.0.319 or later

Vendor Advisory: https://support.quest.com/kace-systems-management-appliance/kb/335982/security-advisory-for-kace-sma-v8-0-318

Restart Required: Yes

Instructions:

1. Download the latest patch from Quest support portal. 2. Apply the patch through the KACE appliance admin interface. 3. Restart the appliance as prompted.

🔧 Temporary Workarounds

Input Validation WAF Rule

all

Implement web application firewall rules to block SQL injection patterns in the reportID parameter

Access Restriction

linux

Restrict access to /common/run_report.php to only trusted IP addresses

iptables -A INPUT -p tcp --dport 443 -s TRUSTED_IP -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j DROP

🧯 If You Can't Patch

  • Implement strict network segmentation to isolate the KACE appliance from critical systems
  • Enable detailed SQL query logging and monitor for suspicious database activity

🔍 How to Verify

Check if Vulnerable:

Check the appliance version in the admin interface under Help > About. If version is 8.0.318 or earlier, the system is vulnerable.

Check Version:

Connect to the appliance web interface and navigate to Help > About to view version information.

Verify Fix Applied:

Verify the version shows 8.0.319 or later after patching and test the /common/run_report.php endpoint with SQL injection test payloads.

📡 Detection & Monitoring

Log Indicators:

  • Unusual SQL error messages in web logs
  • Multiple failed login attempts followed by SQL injection patterns

Network Indicators:

  • Unusual database queries from web server IP
  • SQL syntax in HTTP POST parameters to run_report.php

SIEM Query:

source="web_logs" AND uri="/common/run_report.php" AND (reportID CONTAINS "'" OR reportID CONTAINS "UNION" OR reportID CONTAINS "SELECT")

🔗 References

📤 Share & Export