CVE-2024-9920
Published: 20 March 2025
Description
Adversaries may abuse command and script interpreters to execute commands, scripts, or binaries.
Security Summary
CVE-2024-9920 is a remote code execution vulnerability in version v12 of the open-source parisneo/lollms-webui software. The issue stems from the 'Send file to AL' function, which allows users to upload files with various extensions, including dangerous ones like .py, .sh, and .bat. Attackers can upload malicious files and subsequently trigger their execution via the '/open_file' API endpoint, which invokes subprocess.Popen without proper validation of file contents or types. This flaw is tracked under CWE-434 and carries a CVSS v3.1 base score of 8.8 (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H).
An attacker with low privileges, such as an authenticated user, can exploit this vulnerability over the network with low complexity and no user interaction required. By uploading a malicious script and calling the '/open_file' endpoint, the attacker achieves arbitrary code execution on the server, resulting in high impacts to confidentiality, integrity, and availability.
For mitigation guidance and patch details, refer to the primary advisory on Huntr: https://huntr.com/bounties/c70c6732-23b3-4ef8-aec6-0a47467d1ed5. The vulnerability was published on 2025-03-20.
Details
- CWE(s)
Affected Products
AI Security Analysis
- AI Category
- Enterprise AI Assistants
- Risk Domain
- Other ATLAS/OWASP Terms
- OWASP Top 10 for LLMs 2025
- None mapped
- MITRE ATLAS Techniques
- None mapped
- Classification Reason
- parisneo/lollms-webui is a web user interface for interacting with large language models (LLMs), classified as an enterprise AI assistant platform. The vulnerability involves file upload and execution in this AI web UI context.
MITRE ATT&CK Enterprise Techniques
Why these techniques?
Vulnerability allows remote arbitrary file upload (including executable scripts like .py, .sh, .bat) and execution via '/open_file' API using subprocess.Popen without validation, enabling public-facing app exploitation (T1190), remote service exploitation (T1210), ingress tool transfer (T1105), and command/script interpreter abuse (T1059).