---
id: CVE-2026-45689
title: >-
  Rocket.Chat is an open-source, secure, fully customizable communications
  platform
summary: >-
  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, an unauthenticated network attacker obtains a valid Rocket.Chat OAuth
  access token…
severity: critical
cvss: 9.1
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N'
cwe:
  - CWE-943
vendor: RocketChat
product: Rocket.Chat
affected:
  - 'Rocket.Chat >= 8.5.0-rc.0, < 8.5.0'
  - 'Rocket.Chat >= 8.4.0-rc.0, < 8.4.1'
  - 'Rocket.Chat >= 8.3.0-rc.0, < 8.3.3'
  - 'Rocket.Chat >= 8.2.0-rc.0, < 8.2.3'
  - 'Rocket.Chat >= 8.1.0-rc.0, < 8.1.4'
  - 'Rocket.Chat >= 8.0.0-rc.0, < 8.0.5'
  - 'Rocket.Chat >= 7.11.0-rc.0, < 7.13.7'
  - Rocket.Chat < 7.10.11
published: '2026-06-24'
updated: '2026-11-03'
sourceUpdated: '2026-11-03T23:17:44.823'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-45689'
references:
  - url: >-
      https://github.com/RocketChat/Rocket.Chat/security/advisories/GHSA-8p25-fm45-pjrw
    label: security-advisories@github.com
tags:
  - nvd
  - cve.org
  - exploit-available
exploitAvailable: true
ssvc:
  exploitation: poc
  automatable: 'no'
  technicalImpact: total
  timestamp: '2026-06-26T03:55:35.841877Z'
epss: 0.00526
epssPercentile: 0.44691
ingestedAt: '2026-11-05T06:38:03.619Z'
---

## Overview

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, an unauthenticated network attacker obtains a valid Rocket.Chat OAuth access token for an arbitrary user by sending a single HTTP POST with MongoDB query operators to /oauth/token. The Rocket.Chat OAuth2 server does not validate that grant parameters are strings before forwarding them to findOne({...}) against the oauth_apps and oauth_access_tokens collections, so an attacker substitutes {"$ne": null} for client_id, client_secret, and refresh_token and receives a freshly minted {access_token, refresh_token} pair bound to whichever user's refresh token Mongo returned first. The resulting access token is a first-class bearer credential against the full /api/v1/* surface as that user. By iterating with $nin / $regex operators the attacker walks the entire oauth_access_tokens collection, collecting one fresh access token per user per request. If any matched token belongs to an admin, the stolen bearer gives full admin API access (including Apps-Engine app installation, i.e. server-side code execution). No account, credentials, userId, or prior interaction with the instance are required. 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.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
