Safeguard
Vulnerability Analysis•

CVE-2024-4320: Critical Critical RCE via File Inclusion in lollms-webui

CVE-2024-4320 is a critical remote code execution flaw in lollms-webui's install_extension endpoint. Update and keep the web UI off untrusted networks.

Safeguard Security Team
3 min read

CVE-2024-4320 is a Critical (CVSS 9.8) flaw in parisneo lollms-webui. The install_extension route passes the name parameter to the extension builder, which allows local file inclusion and code execution. The record names no fixed version. Update, and do not expose the service.

What's affected

  • Product: lollms-webui from parisneo. The record says it affects the latest version at the time of the report and lists no specific version number.
  • Affected route: the install_extension endpoint, through the name parameter of ExtensionBuilder().build_extension().
  • Fixed version: not stated. The only reference is a huntr report I did not fetch.
  • Severity: Critical, CVSS 9.8, no privileges and no user interaction.
  • Context in the record: the risk is highest when the app is exposed externally or runs in headless mode.
  • Exploitation: KEV is false.

How to check if you're exposed

Find each lollms-webui instance and check how it is reachable. The description singles out external exposure and headless mode, so start with any instance that has a port open beyond localhost.

On the host, look for unexpected Python files in places the application treats as extension folders or discussion upload folders. The record describes a file named init.py being loaded from an arbitrary location, so an init.py in an upload directory is out of place.

What to do now

  1. Identify instances and close any exposed beyond localhost.
  2. Update to the latest upstream release and read the notes for install_extension changes.
  3. Search upload and extension folders for init.py files you did not install.
  4. Run the app as a restricted user with no access to keys or cloud credentials.
  5. Rebuild the host from a clean image if you find unexplained code in those folders.

Why it matters

The record lists CWE-29, CWE-22. The first is use of an unexpected path alias and the second is path traversal. The server uses a name from the request to decide which Python package to load, so someone who controls that name can point it at code they placed elsewhere.

Loading code by user supplied name is dangerous by design. The safer pattern is a fixed list of allowed extensions, with names checked against that list and never used to build file paths.

Quick check

How is this different from CVE-2024-4267?

Both affect lollms-webui. CVE-2024-4267 is command injection in open_file for version 9.5. This one is file inclusion in install_extension.

Does it need user interaction?

No. The vector shows none, and the description says the same.

Scan your own dependencies

Safeguard's free in-browser dependency scan at gold.safeguard.sh/scan checks a manifest against known advisories, and the Gold directory keeps this record's details in one place.

Sources

The NVD record for CVE-2024-4320 (published 2024-06-06) supplied the description, score and weakness data. Pages marked fetched were read for this post. The others are listed in the record and were not read.

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.