CVE-2024-2359
📋 TL;DR
This vulnerability in parisneo/lollms-webui version 9.3 allows attackers to bypass access restrictions and execute arbitrary code remotely. Attackers exploit the unprotected `/update_setting` endpoint to modify the host configuration, enabling access to the restricted `/execute_code` endpoint. Anyone running the vulnerable version with the web interface exposed is affected.
💻 Affected Systems
- parisneo/lollms-webui
📦 What is this software?
⚠️ Risk & Real-World Impact
Worst Case
Complete system compromise with attacker gaining full control over the host, data theft, lateral movement, and persistent backdoor installation.
Likely Case
Remote code execution leading to data exfiltration, cryptocurrency mining, or ransomware deployment on vulnerable systems.
If Mitigated
No impact if proper network segmentation and access controls prevent external access to the web interface.
🎯 Exploit Status
The exploit requires only HTTP requests to two endpoints with no authentication.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Version 9.4 or later
Vendor Advisory: https://huntr.com/bounties/62144831-8d4b-4cf2-9737-5e559f7bc67e
Restart Required: Yes
Instructions:
1. Update to version 9.4 or later. 2. Restart the lollms-webui service. 3. Verify the update by checking the version.
🔧 Temporary Workarounds
Network Access Restriction
linuxBlock external access to the lollms-webui service using firewall rules
iptables -A INPUT -p tcp --dport [lollms-port] -s [trusted-network] -j ACCEPT
iptables -A INPUT -p tcp --dport [lollms-port] -j DROP
Reverse Proxy with Authentication
allPlace lollms-webui behind a reverse proxy with authentication
🧯 If You Can't Patch
- Immediately restrict network access to only trusted IP addresses using firewall rules
- Disable the web interface entirely if not required for operations
🔍 How to Verify
Check if Vulnerable:
Check if running version 9.3 by accessing the web interface or checking the installation directory
Check Version:
Check the web interface dashboard or inspect package.json in the installation directory
Verify Fix Applied:
Verify version is 9.4 or later and test that /update_setting endpoint no longer accepts unauthorized host changes
📡 Detection & Monitoring
Log Indicators:
- HTTP requests to /update_setting endpoint with host parameter modifications
- Subsequent requests to /execute_code endpoint
Network Indicators:
- Unusual outbound connections from the lollms-webui host
- HTTP POST requests to /update_setting followed by /execute_code
SIEM Query:
source="web_server" AND (uri="/update_setting" OR uri="/execute_code")