CVE-2026-65645

Published Aug 21, 2026 CVSS 3.1 · 4.3 Medium EPSS < 1% KEV · Not listed
Description
Rocket.Chat in versions before 8.8.0, 8.7.1, 8.6.2, 8.5.3, 8.4.6. 8.3.8, 8.2.8, 8.1.8, and 7.10.15, the Meteor DDP methods getThreadsList and getThreadMessages accept rid / tmid as raw, untyped parameters with no schema validation. A MongoDB operator object (e.g. {"$gt": "4"}) can be substituted for a string room-id or message-id. The authorization check resolves to a room the attacker already has access to, while the downstream data query fans out across all rooms - disclosing private thread parents and their full reply content to any low-privilege authenticated user.
The REST route chat.getThreadsList was patched in v5.0 (HackerOne report #1446767) by adding rid: {type:'string'} AJV validation. The equivalent DDP method was never given the same fix and remains exploitable

Analysis

AI-generated

Technical impact

Rocket.Chat DDP methods getThreadsList and getThreadMessages accept raw, untyped parameters for room and thread identifiers, with no schema validation. An attacker can substitute a MongoDB operator object, such as {"$gt":"4"}, in place of a string room-id or message-id. Because the authorization check resolves to a room the attacker already has access to, the query then fans out across all rooms, exposing private thread parents and the content of all replies to a low‑privilege authenticated user.

Affected Systems

The issue affects Rocket.Chat for the following versions: all releases prior to 8.8.0, 8.7.1, 8.6.2, 8.5.3, 8.4.6, 8.3.8, 8.2.8, 8.1.8, and 7.10.15. Any deployment running one of these versions is at risk.

Risk and Exploitability

The vulnerability enables a low‑privilege authenticated user to read private thread data, compromising confidentiality across all private conversations. The attack can be performed by sending a crafted DDP payload; no special privileges beyond authentication are required. The EPSS score of <1% indicates a very low yet non‑zero probability of exploitation, and the absence of a KEV designation suggests it has not yet been widely exploited. Nonetheless, the data disclosure risk warrants immediate remediation. It scores a CVSS of 4.3, reflecting moderate severity.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade to the latest Rocket.Chat release that addresses the DDP method vulnerability (currently 8.8.0 or later).
  • If an update is not immediately possible, enforce stricter input validation at the application level by ensuring rid and tmid parameters are strings and rejecting any object‑based values.
  • Restrict or disable the chat.getThreadsList and chat.getThreadMessages DDP methods for users with low privilege to limit exposure.
  • Use network segmentation or firewall rules to limit untrusted hosts from accessing the DDP endpoint.
  • Monitor audit logs for anomalous DDP calls or unexpected query patterns.

Generated by OpenCVE AI on August 28, 2026 at 19:52 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories available
History
Type Values Removed Values Added
CPEs cpe:2.3:a:rocket.chat:rocket.chat:*:*:*:*:*:*:*:*
cpe:2.3:a:rocket.chat:rocket.chat:8.7.0:*:*:*:*:*:*:*
Type Values Removed Values Added
Title MongoDB Operator Injection Exposes Private Threads in Rocket.Chat
Type Values Removed Values Added
Metrics cvssV3_1

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

ssvc

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

Type Values Removed Values Added
Title MongoDB Operator Injection Exposes Private Threads in Rocket.Chat
First Time appeared Rocket.chat
Rocket.chat rocket.chat
Weaknesses CWE-20
Vendors & Products Rocket.chat
Rocket.chat rocket.chat
Type Values Removed Values Added
Description Rocket.Chat in versions before 8.8.0, 8.7.1, 8.6.2, 8.5.3, 8.4.6. 8.3.8, 8.2.8, 8.1.8, and 7.10.15, the Meteor DDP methods getThreadsList and getThreadMessages accept rid / tmid as raw, untyped parameters with no schema validation. A MongoDB operator object (e.g. {"$gt": "4"}) can be substituted for a string room-id or message-id. The authorization check resolves to a room the attacker already has access to, while the downstream data query fans out across all rooms - disclosing private thread parents and their full reply content to any low-privilege authenticated user. The REST route chat.getThreadsList was patched in v5.0 (HackerOne report #1446767) by adding rid: {type:'string'} AJV validation. The equivalent DDP method was never given the same fix and remains exploitable
References
Weaknesses
  • CWE-20

    Improper Input Validation

Sources

Status
PUBLISHED
Assigner
hackerone
Published
Updated
Aug 27, 2026, 5:46 PM
Reserved
Jul 22, 2026, 3:00 PM
Status
Analyzed
Published
Aug 21, 2026, 4:18 AM
Modified
Oct 26, 2026, 10:10 AM