CVE-2024-0439

8.8 HIGH

📋 TL;DR

This CVE describes an improper privilege management vulnerability in Anything-LLM where managers can bypass UI restrictions and modify restricted settings using their authentication tokens via direct HTTP requests. This affects systems running vulnerable versions of Anything-LLM with manager accounts.

💻 Affected Systems

Products:
  • Anything-LLM
Versions: Versions prior to the fix commit 7200a06ef07d92eef5f3c4c8be29824aa001d688
Operating Systems: All platforms running Anything-LLM
Default Config Vulnerable: ⚠️ Yes
Notes: Vulnerability exists in default configurations where manager roles are used. Requires manager-level authentication token.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Manager-level users could modify critical system settings, potentially disrupting operations, changing security configurations, or enabling further privilege escalation.

🟠

Likely Case

Accidental or intentional modification of restricted settings by managers, leading to configuration drift, operational issues, or minor security policy violations.

🟢

If Mitigated

No impact if proper server-side authorization checks are implemented to enforce role-based access controls.

🌐 Internet-Facing: MEDIUM - Exploitation requires valid manager credentials but can be performed remotely if the application is internet-facing.
🏢 Internal Only: MEDIUM - Internal managers with network access to the application could exploit this vulnerability.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: LOW - Requires only a valid manager token and knowledge of the restricted API endpoints.

Exploitation involves crafting HTTP requests to restricted endpoints using valid manager authentication tokens.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Fixed in commit 7200a06ef07d92eef5f3c4c8be29824aa001d688

Vendor Advisory: https://github.com/mintplex-labs/anything-llm/commit/7200a06ef07d92eef5f3c4c8be29824aa001d688

Restart Required: Yes

Instructions:

1. Update Anything-LLM to version containing commit 7200a06ef07d92eef5f3c4c8be29824aa001d688
2. Restart the application
3. Verify server-side authorization checks are now enforced

🔧 Temporary Workarounds

Implement API Gateway Authorization

all

Add authorization layer at API gateway to enforce role-based access controls for all API endpoints.

Restrict Manager Token Permissions

all

Review and reduce permissions associated with manager authentication tokens.

🧯 If You Can't Patch

  • Implement network segmentation to restrict manager access to the application
  • Deploy a web application firewall with custom rules to block unauthorized API calls to restricted endpoints

🔍 How to Verify

Check if Vulnerable:

Test if manager tokens can access/modify restricted settings via direct API calls that should be blocked.

Check Version:

Check git commit hash or version number against the fixed commit 7200a06ef07d92eef5f3c4c8be29824aa001d688

Verify Fix Applied:

Verify that manager tokens are now properly rejected when attempting to modify restricted settings via API.

📡 Detection & Monitoring

Log Indicators:

  • Unauthorized API calls from manager accounts to restricted endpoints
  • Failed authorization attempts for manager roles

Network Indicators:

  • HTTP requests to restricted endpoints with manager authentication tokens

SIEM Query:

source="application_logs" AND (endpoint="/api/restricted/*" OR endpoint="/api/settings/*") AND user_role="manager" AND response_code=200

🔗 References

📤 Share & Export