CVE-2026-45688
Rocket.Chat: Pre-Auth NoSQL Injection in CAS Login Handler leading to Arbitrary CAS/SAML User Session Hijack
Description
Rocket.Chat is an open-source, secure, fully customizable communications platform. Prior to 8.5.0, 8.4.1, 8.3.3, 8.2.3, 8.1.4, 8.0.5, 7.13.7, and 7.10.11, Rocket.Chat's CAS login handler forwards the client-supplied options.cas.credentialToken value straight into a MongoDB findOne({_id: ...}) query without any runtime type check. TypeScript's string parameter annotation is erased at runtime, so an unauthenticated attacker can substitute a MongoDB query operator ({"$gt": ""}, {"$ne": null}, etc.) for what the server expects to be an opaque ticket string. The injected operator matches the first unexpired document in the credential_tokens collection, bypassing the CAS ticket check entirely. When any legitimate CAS or SAML SSO login is in flight, the attacker's next DDP login call matches the same credential-token row via the NoSQL operator and is issued a full Meteor auth token (userId + token) bound to the victim. The token is immediately usable against the complete REST and DDP surface as that user. If the victim is an administrator, this escalates to full instance compromise via Apps-Engine app install. This vulnerability is fixed in 8.5.0, 8.4.1, 8.3.3, 8.2.3, 8.1.4, 8.0.5, 7.13.7, and 7.10.11.
INFO
Published Date :
June 24, 2026, 9:16 p.m.
Last Modified :
Nov. 3, 2026, 11:17 p.m.
Remotely Exploit :
Yes !
Source :
[email protected]
Affected Products
The following products are affected by CVE-2026-45688
vulnerability.
Even if cvefeed.io is aware of the exact versions of the
products
that
are
affected, the information is not represented in the table below.
CVSS Scores
| Score | Version | Severity | Vector | Exploitability Score | Impact Score | Source |
|---|---|---|---|---|---|---|
| CVSS | 134c704f-9b21-4f2e-91b3-4a467353bcc0 | |||||
| CVSS 3.1 | CRITICAL | [email protected] |
Solution
- Update Rocket.Chat to version 8.5.0 or later.
- Apply patches for versions 8.4.1, 8.3.3, 8.2.3, 8.1.4, 8.0.5, 7.13.7, or 7.10.11.
- Verify CAS login handler input for type safety.
- Sanitize user-supplied input to MongoDB queries.
References to Advisories, Solutions, and Tools
Here, you will find a curated list of external links that provide in-depth
information, practical solutions, and valuable tools related to
CVE-2026-45688.
| URL | Resource |
|---|---|
| https://github.com/RocketChat/Rocket.Chat/security/advisories/GHSA-rr54-jf4h-6cj9 |
CWE - Common Weakness Enumeration
While CVE identifies
specific instances of vulnerabilities, CWE categorizes the common flaws or
weaknesses that can lead to vulnerabilities. CVE-2026-45688 is
associated with the following CWEs:
Common Attack Pattern Enumeration and Classification (CAPEC)
Common Attack Pattern Enumeration and Classification
(CAPEC)
stores attack patterns, which are descriptions of the common attributes and
approaches employed by adversaries to exploit the CVE-2026-45688
weaknesses.
We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).
Results are limited to the first 15 repositories due to potential performance issues.
The following list is the news that have been mention
CVE-2026-45688 vulnerability anywhere in the article.
The following table lists the changes that have been made to the
CVE-2026-45688 vulnerability over time.
Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.
-
CVE Modified by [email protected]
Nov. 03, 2026
Action Type Old Value New Value Added Reference https://github.com/RocketChat/Rocket.Chat/security/advisories/GHSA-rr54-jf4h-6cj9 Removed Reference https://github.com/RocketChat/Rocket.Chat/security/advisories/GHSA-rr54-jf4h-6cj9 -
CVE Modified by 134c704f-9b21-4f2e-91b3-4a467353bcc0
Nov. 03, 2026
Action Type Old Value New Value Removed SSVC {'id': 'CVE-2026-45688', 'role': 'CISA Coordinator', 'options': [{'exploitation': 'poc'}, {'automatable': 'yes'}, {'technicalImpact': 'total'}], 'version': '2.0.3', 'timestamp': '2026-06-25T00:00:00+00:00'} Added SSVC {'id': 'CVE-2026-45688', 'role': 'CISA Coordinator', 'options': [{'exploitation': 'poc'}, {'automatable': 'yes'}, {'technicalImpact': 'total'}], 'version': '2.0.3', 'timestamp': '2026-06-26T03:55:38.005115Z'} -
CVE Translated by [email protected]
Oct. 25, 2026
Action Type Old Value New Value Added Translation Title: Rocket.Chat de RocketChat, Description: Rocket.Chat es una plataforma de comunicaciones de código abierto, segura y totalmente personalizable. Antes de 8.5.0, 8.4.1, 8.3.3, 8.2.3, 8.1.4, 8.0.5, 7.13.7 y 7.10.11, el gestor de inicio de sesión CAS de Rocket.Chat reenvía el valor options.cas.credentialToken proporcionado por el cliente directamente a una consulta MongoDB findOne({_id: ...}) sin ninguna verificación de tipo en tiempo de ejecución. La anotación de parámetro de cadena de TypeScript se borra en tiempo de ejecución, por lo que un atacante no autenticado puede sustituir un operador de consulta de MongoDB ({“$gt”: “”}, {“$ne”: null}, etc.) por lo que el servidor espera que sea una cadena de ticket opaca. El operador inyectado coincide con el primer documento no caducado en la colección credential_tokens, eludiendo por completo la verificación del ticket CAS. Cuando cualquier inicio de sesión legítimo de CAS o SAML SSO está en curso, la siguiente llamada de inicio de sesión DDP del atacante coincide con la misma fila de token de credencial a través del operador NoSQL y se le emite un token de autenticación completo de Meteor (userId + token) vinculado a la víctima. El token es inmediatamente utilizable contra toda la superficie REST y DDP como ese usuario. Si la víctima es un administrador, esto escala a un compromiso completo de la instancia a través de la instalación de una aplicación de Apps-Engine. Esta vulnerabilidad se corrige en 8.5.0, 8.4.1, 8.3.3, 8.2.3, 8.1.4, 8.0.5, 7.13.7 y 7.10.11. -
CVE Modified by 134c704f-9b21-4f2e-91b3-4a467353bcc0
Jun. 26, 2026
Action Type Old Value New Value Changed SSVC {'id': 'CVE-2026-45688', 'role': 'CISA Coordinator', 'options': [{'exploitation': 'none'}, {'automatable': 'yes'}, {'technicalImpact': 'total'}], 'version': '2.0.3', 'timestamp': '2026-06-25T23:06:47.395008Z'} {'id': 'CVE-2026-45688', 'role': 'CISA Coordinator', 'options': [{'exploitation': 'poc'}, {'automatable': 'yes'}, {'technicalImpact': 'total'}], 'version': '2.0.3', 'timestamp': '2026-06-25T00:00:00+00:00'} -
CVE Modified by 134c704f-9b21-4f2e-91b3-4a467353bcc0
Jun. 26, 2026
Action Type Old Value New Value Added SSVC {'id': 'CVE-2026-45688', 'role': 'CISA Coordinator', 'options': [{'exploitation': 'none'}, {'automatable': 'yes'}, {'technicalImpact': 'total'}], 'version': '2.0.3', 'timestamp': '2026-06-25T23:06:47.395008Z'} -
New CVE Received by [email protected]
Jun. 24, 2026
Action Type Old Value New Value Added Affected [{'vendor': 'RocketChat', 'product': 'Rocket.Chat', 'versions': [{'status': 'affected', 'version': '>= 8.5.0-rc.0, < 8.5.0'}, {'status': 'affected', 'version': '>= 8.4.0-rc.0, < 8.4.1'}, {'status': 'affected', 'version': '>= 8.3.0-rc.0, < 8.3.3'}, {'status': 'affected', 'version': '>= 8.2.0-rc.0, < 8.2.3'}, {'status': 'affected', 'version': '>= 8.1.0-rc.0, < 8.1.4'}, {'status': 'affected', 'version': '>= 8.0.0-rc.0, < 8.0.5'}, {'status': 'affected', 'version': '>= 7.11.0-rc.0, < 7.13.7'}, {'status': 'affected', 'version': '< 7.10.11'}]}] Added Description Rocket.Chat is an open-source, secure, fully customizable communications platform. Prior to 8.5.0, 8.4.1, 8.3.3, 8.2.3, 8.1.4, 8.0.5, 7.13.7, and 7.10.11, Rocket.Chat's CAS login handler forwards the client-supplied options.cas.credentialToken value straight into a MongoDB findOne({_id: ...}) query without any runtime type check. TypeScript's string parameter annotation is erased at runtime, so an unauthenticated attacker can substitute a MongoDB query operator ({"$gt": ""}, {"$ne": null}, etc.) for what the server expects to be an opaque ticket string. The injected operator matches the first unexpired document in the credential_tokens collection, bypassing the CAS ticket check entirely. When any legitimate CAS or SAML SSO login is in flight, the attacker's next DDP login call matches the same credential-token row via the NoSQL operator and is issued a full Meteor auth token (userId + token) bound to the victim. The token is immediately usable against the complete REST and DDP surface as that user. If the victim is an administrator, this escalates to full instance compromise via Apps-Engine app install. This vulnerability is fixed in 8.5.0, 8.4.1, 8.3.3, 8.2.3, 8.1.4, 8.0.5, 7.13.7, and 7.10.11. Added CVSS V3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N Added CWE CWE-943 Added Reference https://github.com/RocketChat/Rocket.Chat/security/advisories/GHSA-rr54-jf4h-6cj9