Rocket.Chat CVE-2026-48929
HIGHSeverity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
DDP method is network-reachable with no auth or user interaction (AV:N/AC:L/PR:N/UI:N); impact is file deletion only, so C:N/I:N/A:H with no scope change.
Primary rating from Vendor (hackerone).
CVSS VectorVendor: hackerone
Lifecycle Timeline
2DescriptionCVE.org
Rocket.Chat in versions <8.5.1, <8.4.4, <8.3.6, <8.2.6, <8.1.6, <8.0.7, <7.13.9, and <7.10.13 is vulnerable to unauthenticated file deletion. The deleteFileMessage Meteor method permanently deletes any uploaded file by ID without requiring authentication. When called via an unauthenticated DDP WebSocket connection, Meteor.userId() returns null, causing the authorization check to be skipped. Execution falls through to FileUpload.getStore('Uploads').deleteById(fileID), which removes the file from storage and database unconditionally. File IDs are discoverable from public channel message payloads and download URLs.
AnalysisAI
Unauthenticated file deletion in Rocket.Chat allows remote attackers to permanently delete arbitrary uploaded files from a target server via the deleteFileMessage Meteor method over a DDP WebSocket connection. The flaw stems from an authorization check that is silently skipped when Meteor.userId() returns null on unauthenticated DDP sessions, letting any internet-accessible attacker destroy attachments whose IDs are discoverable from public channel messages and download URLs. No public exploit identified at time of analysis, though a vendor patch and HackerOne disclosure (report 3611837) confirm the issue.
Technical ContextAI
Rocket.Chat is a Meteor.js-based team collaboration platform that exposes server-side methods to clients over the DDP (Distributed Data Protocol) WebSocket transport. The vulnerable deleteFileMessage Meteor method calls FileUpload.getStore('Uploads').deleteById(fileID) - which unconditionally removes the underlying file from the upload store (e.g., GridFS, S3, FileSystem) and its database record - but its authorization guard only validates the caller when Meteor.userId() returns a real user; on an unauthenticated DDP connection that returns null, the guard is short-circuited rather than failing closed. This is a textbook CWE-287 (Improper Authentication) issue: a 'null user' path bypasses access control entirely, and because file IDs leak in public channel message payloads and CDN-style download URLs, IDs are not a meaningful secret. The CPE cpe:2.3:a:rocket.chat:rocket.chat:*:*:*:*:*:*:*:* indicates all Rocket.Chat server versions prior to the listed fixes are in scope.
RemediationAI
Upgrade Rocket.Chat to one of the fixed versions on your maintenance line: 8.5.1, 8.4.4, 8.3.6, 8.2.6, 8.1.6, 8.0.7, 7.13.9, or 7.10.13, per the upstream patch in https://github.com/RocketChat/Rocket.Chat/pull/40889/ and the security advisory referenced from https://docs.rocket.chat/docs/security-fixes-and-updates. If immediate upgrade is not possible, restrict network access to the Rocket.Chat DDP/WebSocket endpoint (the same host:port as HTTP, path /websocket) so it is only reachable from authenticated reverse proxies or VPN clients, and make public channels private until patched - this prevents unauthenticated clients from opening DDP sessions and from enumerating file IDs from public message payloads, at the cost of breaking anonymous browsing and third-party integrations that rely on DDP. Restoring deleted files requires backups of both the upload store and MongoDB, so verify backup coverage before exposure.
More in Rocket Chat
View allA sanitization vulnerability exists in Rocket.Chat server versions <3.13.2, <3.12.4, <3.11.4 that allowed queries to an
A improper input sanitization vulnerability exists in Rocket.Chat server 3.11, 3.12 & 3.13 that could lead to unauthenti
A improper authentication vulnerability exists in Rocket.Chat <v5, <v4.8.2 and <v4.7.5 that allowed two factor authentic
A SQL injection vulnerability exists in Rocket.Chat <v3.18.6, <v4.4.4 and <v4.7.3 which can allow an attacker to retriev
A Server-Side Request Forgery (SSRF) affects Rocket.Chat's Twilio webhook endpoint before version 6.10.1. Rated high sev
Rocket.Chat versions prior to 6.12.0 expose the OAuth applications API endpoint to any authenticated user, allowing disc
An information disclosure vulnerability exists in the Rocket.Chat server fixed v3.13, v3.12.2 & v3.11.3 that allowed ema
An improper authentication vulnerability exists in Rocket.Chat Mobile App <4.14.1.22788 that allowed an attacker with ph
A cleartext transmission of sensitive information exists in Rocket.Chat <v5, <v4.8.2 and <v4.7.5 relating to Oauth token
An information disclosure vulnerability exists in Rocket.Chat <v5 due to the getUserMentionsByChannel meteor server meth
Rocket.Chat is an open-source fully customizable communications platform developed in JavaScript. Rated medium severity
A blind self XSS vulnerability exists in RocketChat LiveChat <v1.9 that could allow an attacker to trick a victim pastin
Same weakness CWE-287 – Improper Authentication
View allSame technique Authentication Bypass
View allShare
External POC / Exploit Code
Leaving vuln.today