Safeguard
Vulnerability Analysis•

CVE-2024-3029: High Input Flaw in AnythingLLM

CVE-2024-3029 is a High input validation flaw in AnythingLLM that can wipe users and disable multi-user mode. Update to a build with the fix commit.

Safeguard Security Team
4 min read

CVE-2024-3029 is a High severity (CVSS 8.0) improper input validation flaw in mintplex-labs AnythingLLM. A malformed JSON request to the /system/enable-multi-user endpoint triggers an error path that deletes all users and turns off multi-user mode. The upstream commit fixes the endpoint, so update to a build that includes it.

What's affected

The record lists the AnythingLLM project from mintplex-labs, with no version range given. The weakness is CWE-20, improper input validation. The vector is CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H, so the attack runs over the network, needs low privileges, and requires some user interaction. Impact on confidentiality, integrity and availability is rated high.

The record links to an upstream commit and a huntr report. I read the commit. It is titled as a security fix for the enable-multi-user preflight check "to prevent error loop" and is dated 27 March 2024. The change reads the multi-user state before touching the request body, so a bad payload no longer reaches the error handling that removed accounts.

I did not find a release number tied to the fix in the sources I could read. If you run a release from before that commit, check the project's release notes for the first version that contains it.

How to check if you're exposed

Find out how you run AnythingLLM and which build it is. For a Docker deployment, list the image and its creation date:

docker images | grep -i anything-llm

If you built from source, check whether your checkout contains the fix commit:

git merge-base --is-ancestor 99cfee1e7025fe9a0919a4d506ba1e1b819f6073 HEAD && echo fixed

If it prints nothing, your checkout does not include the commit. Also check whether the instance is reachable from outside your network, and whether multi-user mode is switched on, since the described outcome is loss of the user list and loss of that mode.

What to do now

  1. Update AnythingLLM to a build that includes commit 99cfee1 or later.
  2. Restrict network access to the instance with a VPN, an allow list or a reverse proxy that requires authentication.
  3. Back up the application database so a wiped user table can be restored.
  4. Review the user list and the multi-user setting after any suspicious restart or unexpected logout.
  5. Rotate admin credentials and API keys if you see accounts you did not create.

Why it matters

The description is a good example of an error handler that does the wrong thing. A catch block was meant to clean up after a failed setup, but it also removed every user and disabled multi-user mode. An attacker could then, according to the record, create a new admin user without a password.

Input validation bugs like this one are easy to miss in review because the happy path works. Add tests that send malformed bodies to every endpoint that changes authentication state. The record does not list this CVE as known exploited, and it is not flagged in the CISA catalog as far as the record shows.

The Gold page for CVE-2024-3029 tracks the entry. Reachability analysis can help you work out whether an application you build on top of a library like this actually calls the affected code.

Quick check

Does this need an account to exploit?

The vector says low privileges and user interaction are required. In practice, treat any instance exposed to untrusted users as at risk and update.

Is there a confirmed fixed release number?

I could confirm the upstream fix commit but not a release tag. Check the project release notes for the first version that includes it.

Sources

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.