CVE-2024-1115
📋 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
- openBI
📦 What is this software?
Openbi by Openbi
⚠️ 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.
🎯 Exploit Status
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
allImplement 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
linuxTemporarily 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 "`"))