Rocket.Chat: Pre-Auth NoSQL Injection in CAS Login Handler leading to Arbitrary CAS/SAML User Session Hijack
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- —
- Confidentiality · integrity · availability
- High · High · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA.
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, 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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- Yes
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| RocketChat | Rocket.Chat | 8.5.0-rc.0 to before 8.5.0; 8.4.0-rc.0 to before 8.4.1; 8.3.0-rc.0 to before 8.3.3; 8.2.0-rc.0 to before 8.2.3; 8.1.0-rc.0 to before 8.1.4; 8.0.0-rc.0 to before 8.0.5; 7.11.0-rc.0 to before 7.13.7; before 7.10.11 | 8.5.0, 8.4.1, 8.3.3, 8.2.3, 8.1.4, 8.0.5, 7.13.7, 7.10.11 | Patch available | CNA |
- Rocket.Chat VendorRocketChat Affected 8.5.0-rc.0 to before 8.5.0; 8.4.0-rc.0 to before 8.4.1; 8.3.0-rc.0 to before 8.3.3; 8.2.0-rc.0 to before 8.2.3; 8.1.0-rc.0 to before 8.1.4; 8.0.0-rc.0 to before 8.0.5; 7.11.0-rc.0 to before 7.13.7; before 7.10.11 Fixed in 8.5.0, 8.4.1, 8.3.3, 8.2.3, 8.1.4, 8.0.5, 7.13.7, 7.10.11 Patch available CNA
CPE names Threatist (inferred) · 1
Inferred from how NVD named this product before; not given by a source.
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:rocket.chat:rocket.chat:*:*:*:*:*:*:*:* | — | — | Rocket.Chat |
- cpe:2.3:a:rocket.chat:rocket.chat:*:*:*:*:*:*:*:* Versions — — ·Rocket.Chat
Remediation
- Fix · CNA Rocket.Chat (RocketChat) Fixed in 8.5.0, 8.4.1, 8.3.3, 8.2.3, 8.1.4, 8.0.5, 7.13.7, 7.10.11
Timeline
- 2026-10-02 Threatist record created from CVE-2026-45688
- 2026-11-03 CISA SSVC decision points changed
More RocketChat vulnerabilities
- TI-2026-33431 Rocket.Chat: Pre-Auth NoSQL Injection in OAuth2 Token Endpoint leading to Arbitrary User ATO CVSS 3.1CRITICAL 9.1
- TI-2026-18910 Rocket.Chat Unauthorized Access to OAuth App Details CVSS 3.1HIGH 7.7
- TI-2026-35234 Rocket.Chat: Missing URL protocol sanitization in ImageElement allows javascript: URLs in markdown images CVSS 3.1MEDIUM 4.4
- TI-2026-22776 Rocket.Chat: Users can login with any password via the EE ddp-streamer-service CVSS 4.0CRITICAL 9.3
- TI-2026-40188 Rocket.Chat: Email Parameter Fallback Leads To Account Takeover Within Apple OAuth CVSS 4.0CRITICAL 9.3
- TI-2026-34135 Rocket.Chat: SAML signature validation skipped when IdP certificate field is empty CVSS 4.0CRITICAL 9.3
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences