CyberSecBulletin
CVE-2024-3283NVD status: Analyzed

mintplex-labs/anything-llm: Improperly Controlled Modification of Dynamically-Determined Object Attributes

CVE-2024-3283 is a high-severity improperly controlled modification of dynamically-determined object attributes vulnerability in mintplex-labs/anything-llm from Mintplex-labs, with a CVSS 3.0 base score of 7.2 out of 10. It can be exploited remotely over the network by an attacker with administrator privileges, without any action from a user. The record lists version 1.0.0 as the first without the flaw, so updating mintplex-labs/anything-llm to that release or later removes the exposure. There is no confirmed exploitation so far. EPSS estimates a 0.95% chance of exploitation within 30 days, higher than 62% of scored CVEs.

Next patch cycle

High severity with no evidence of exploitation so far.

What to do

  1. Update mintplex-labs/anything-llm to 1.0.0 or a later version.
  2. Update anythingllm to 1.0.0 or a later version.

Affected products and versions

VendorProductAffected versionsFixed in
Mintplex-labsmintplex-labs/anything-llmbefore 1.0.01.0.0
Mintplexlabsanythingllmbefore 1.0.01.0.0

Version data comes from the organisation that assigned the CVE. Confirm against the vendor advisory before deciding you are unaffected.

How the severity score breaks down

Attack vector
NetworkCan be exploited remotely over a network, including the internet.
Attack complexity
LowNo special conditions are needed; the attack works reliably.
Privileges required
HighAdministrator-level access is required first.
User interaction
NoneNo action by a victim is required.
Scope
UnchangedImpact stays within the vulnerable component.
Confidentiality
HighAll data handled by the component can be read.
Integrity
HighData or code can be modified at will.
Availability
HighThe component can be taken down completely.

Vector: CVSS:3.0/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H. Scored by CNA (huntr.dev).

Official description

A vulnerability in mintplex-labs/anything-llm allows users with manager roles to escalate their privileges to admin roles through a mass assignment issue. The '/admin/system-preferences' API endpoint improperly authorizes manager-level users to modify the 'multi_user_mode' system variable, enabling them to access the '/api/system/enable-multi-user' endpoint and create a new admin user. This issue results from the endpoint accepting a full JSON object in the request body without proper validation of modifiable fields, leading to unauthorized modification of system settings and subsequent privilege escalation.

Source: the CVE record as published by its numbering authority, via NVD and CVE.org.

The underlying weakness: Improperly Controlled Modification of Dynamically-Determined Object Attributes

The product receives input from an upstream component that specifies multiple attributes, properties, or fields that are to be initialized or updated in an object, but it does not properly control which attributes can be modified.

How developers prevent this class of flaw

  • If available, use features of the language or framework that allow specification of allowlists of attributes or fields that are allowed to be modified. If possible, prefer allowlists over denylists. For applications written with Ruby on Rails, use the attr_accessible (allowlist) or attr_protected (denylist) macros in each class that may be used in mass assignment.
  • If available, use the signing/sealing features of the programming language to assure that deserialized data has not been tainted. For example, a hash-based message authentication code (HMAC) could be used to ensure that data has not been modified.
  • For any externally-influenced input, check the input against an allowlist of internal object attributes or fields that are allowed to be modified.

More Improperly Controlled Modification of Dynamically-Determined Object Attributes vulnerabilities (CWE-915)

Timeline

  1. CVE record published.
  2. CISA published its SSVC assessment (exploitation: poc, automatable: no, technical impact: total).
  3. Record last changed materially (score, affected products, status or references).

References

Technical write-ups (may include proof of concept)

Other vulnerabilities in mintplex-labs/anything-llm

All mintplex-labs/anything-llm vulnerabilities

Recent Improperly Controlled Modification of Dynamically-Determined Object Attributes vulnerabilities

Spotted an error? Tell us.