CVE-2024-1115

7.3 HIGH

📋 TL;DR

This critical vulnerability in openBI allows remote attackers to execute arbitrary operating system commands through command injection in the dlfile function. Attackers can exploit this to gain full control of affected systems. All openBI installations up to version 1.0.8 are vulnerable.

💻 Affected Systems

Products:
  • openBI
Versions: up to and including 1.0.8
Operating Systems: All platforms running openBI
Default Config Vulnerable: ⚠️ Yes
Notes: All installations with the vulnerable Setting.php file are affected regardless of configuration.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete system compromise allowing attackers to install malware, exfiltrate data, pivot to other systems, or establish persistent backdoors.

🟠

Likely Case

Remote code execution leading to web server compromise, data theft, and potential lateral movement within the network.

🟢

If Mitigated

Limited impact if proper network segmentation, least privilege, and input validation are implemented.

🌐 Internet-Facing: HIGH - The vulnerability is remotely exploitable and public exploit details are available.
🏢 Internal Only: HIGH - Even internal systems can be exploited by authenticated users or through other attack vectors.

🎯 Exploit Status

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

Exploit details have been publicly disclosed, making weaponization highly probable. Attack requires access to the vulnerable endpoint.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Unknown

Vendor Advisory: None available

Restart Required: No

Instructions:

1. Monitor openBI project for security updates. 2. Upgrade to version 1.0.9 or higher when available. 3. Apply patches immediately upon release.

🔧 Temporary Workarounds

Input Validation and Sanitization

all

Implement strict input validation for the phpPath parameter to prevent command injection.

# Modify /application/websocket/controller/Setting.php to validate phpPath input
# Example: if (!preg_match('/^[a-zA-Z0-9\/\-\._]+$/', $phpPath)) { die('Invalid input'); }

Disable Vulnerable Endpoint

linux

Temporarily disable or restrict access to the /application/websocket/controller/Setting.php endpoint.

# For Apache: RewriteRule ^/application/websocket/controller/Setting\.php$ - [F]
# For Nginx: location ~ /application/websocket/controller/Setting\.php { deny all; }

🧯 If You Can't Patch

  • Implement strict network segmentation to isolate openBI systems from critical infrastructure
  • Deploy web application firewall (WAF) with command injection protection rules

🔍 How to Verify

Check if Vulnerable:

Check if openBI version is 1.0.8 or earlier and if /application/websocket/controller/Setting.php exists with the dlfile function.

Check Version:

grep -r 'version' /path/to/openbi/ | grep -i '1\.0\.[0-8]'

Verify Fix Applied:

Verify that input validation has been implemented for the phpPath parameter in Setting.php and test for command injection.

📡 Detection & Monitoring

Log Indicators:

  • Unusual commands in web server logs
  • Multiple requests to Setting.php with suspicious phpPath parameters
  • System command execution from web process

Network Indicators:

  • Unusual outbound connections from web server
  • Traffic to known malicious IPs from openBI system

SIEM Query:

source="web_logs" AND (uri="/application/websocket/controller/Setting.php" AND (param="phpPath" AND value CONTAINS "|" OR value CONTAINS ";" OR value CONTAINS "$" OR value CONTAINS "`"))

🔗 References

📤 Share & Export