Description
LobeChat through 2.2.9 server-database deployments are vulnerable to broken object-level authorization in MessageModel. The updateMessagePlugin, updatePluginState, updatePluginError, updateTTS and updateTranslate methods filter target rows by message id alone, omitting the userId scope that sibling methods apply, and findMessagePlugin reads back by id alone. Reachable via the corresponding tRPC message procedures, an authenticated user who knows another user's message identifier can overwrite that victim's plugin tool-call metadata, plugin state/error, text-to-speech and translation records on the same instance, and the tampered content is served back to the victim. Exploitation requires knowledge of the victim's non-enumerable message identifier.
Published: 2026-07-02
Score: 6 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability in LobeChat 2.2.9 and earlier is a broken object‑level authorization flaw modelled as CWE‑639. The updateMessagePlugin, updatePluginState, updatePluginError, updateTTS and updateTranslate methods filter target rows by message id alone, and findMessagePlugin reads by id alone, omitting the userId scope that sibling methods apply. This allows an authenticated user who knows another user's message identifier to overwrite the victim's plugin tool‑call metadata, plugin state or error, text‑to‑speech and translation records. The tampered content is served back to the victim, permitting unauthorized modification of user‑specific data but not code execution.

Affected Systems

Affected deployments are the server‑database installations of LobeChat released by Lobehub up to version 2.2.9. The flaw resides in the backend MessageModel, so any instance of LobeChat that exposes the tRPC message procedures and runs a vulnerable version is susceptible. No other product versions or client‑side configurations are known to be impacted.

Risk and Exploitability

The CVSS base score of 6.0 indicates a medium severity risk. The EPSS score is less than 1% and the vulnerability is not listed in the CISA KEV catalog, meaning exploitation is currently unlikely. Based on the description, it is inferred that an attacker would need to be authenticated and to discover a victim’s non‑enumerable message ID—potentially by observing the victim’s message list—before submitting crafted tRPC requests. The likely attack vector is remote through the exposed tRPC endpoints. Organizations should consider upgrading to a patched release or, if not immediately possible, monitor for write activity that does not include a matching user‑ID correlation.

Generated by OpenCVE AI on July 21, 2026 at 10:55 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade to a patched version of LobeChat that enforces user‑ID checks on message sub‑resource updates.
  • As a temporary workaround, modify the application logic to validate that the authenticated user’s ID matches the owner of the target message before permitting updates to any message sub‑resource, and alert on mismatched user IDs.
  • Enable auditing of all tRPC update requests and configure alerts for writes that do not match the authenticated user’s ID to detect unauthorized activity early.

Generated by OpenCVE AI on July 21, 2026 at 10:55 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 06 Jul 2026 16:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Thu, 02 Jul 2026 20:15:00 +0000

Type Values Removed Values Added
Description LobeChat through 2.2.9 server-database deployments are vulnerable to broken object-level authorization in MessageModel. The updateMessagePlugin, updatePluginState, updatePluginError, updateTTS and updateTranslate methods filter target rows by message id alone, omitting the userId scope that sibling methods apply, and findMessagePlugin reads back by id alone. Reachable via the corresponding tRPC message procedures, an authenticated user who knows another user's message identifier can overwrite that victim's plugin tool-call metadata, plugin state/error, text-to-speech and translation records on the same instance, and the tampered content is served back to the victim. Exploitation requires knowledge of the victim's non-enumerable message identifier.
Title LobeChat 2.2.9 - Broken Object-Level Authorization in Message Sub-Resource Writes
First Time appeared Lobehub
Lobehub lobehub
Weaknesses CWE-639
CPEs cpe:2.3:a:lobehub:lobehub:*:*:*:*:*:node.js:*:*
Vendors & Products Lobehub
Lobehub lobehub
References
Metrics cvssV3_1

{'score': 5.9, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:H/A:N'}

cvssV4_0

{'score': 6, 'vector': 'CVSS:4.0/AV:N/AC:H/AT:N/PR:L/UI:N/VC:L/VI:H/VA:N/SC:N/SI:N/SA:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-07-14T22:03:19.695Z

Reserved: 2026-07-01T15:00:11.164Z

Link: CVE-2026-58580

cve-icon Vulnrichment

Updated: 2026-07-06T15:34:21.601Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-07-21T11:00:05Z

Weaknesses
  • CWE-639

    Authorization Bypass Through User-Controlled Key