Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSend unauthenticated HTTP POST to /api/v1/method.callAnon/sendForgotPasswordEmail
-
DeliverySubmit target email address repeatedly with no rate-limit enforcement
-
ExploitServer dispatches unbounded reset emails from its own mail sender
-
ExecutionObserve boolean response to distinguish OAuth-only accounts
-
ImpactUse enumerated account list for targeted phishing or credential attacks
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Brute-force prevention, rate limiting
|
| Exploitation Conditions | No authentication is required; the method is exposed via the anonymous HTTP bridge at POST /api/v1/method.callAnon/sendForgotPasswordEmail and via unauthenticated DDP, both accessible from any network that can reach the Rocket.Chat server. The email-flooding path has no special configuration prerequisite and works against default deployments. The account-type enumeration side-channel is conditional: it reveals OAuth-only accounts only when the server-side setting Accounts_AllowPasswordChangeForOAuthUsers is set to false (non-default hardening); in default or permissive configurations, the method returns true for all existing accounts and the enumeration signal is absent. Exploitation is limited to flooding or probing - no session hijack or code execution is possible through this vector alone. |
| Impact | The CVSS 4.0 score of 6.9 with vector AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N reflects two distinct but moderate impacts: low confidentiality loss from account-type enumeration and unbounded mail abuse, with no integrity or availability impact assessed against the Rocket.Chat system itself. The attack complexity is genuinely low - the HTTP anonymous route requires no special tooling or protocol knowledge beyond a standard HTTP client. The confidentiality signal (VC:L) is accurate: an attacker learns only whether an address maps to an OAuth-only account when AllowPasswordChangeForOAuthUsers is off, which is useful for targeted follow-on phishing but not a full account takeover path. No EPSS data was provided, and there is no CISA KEV listing, indicating no confirmed broad exploitation. The real-world risk is primarily reputational and operational - mass reset mail from a Rocket.Chat server damages mail sender reputation and can trigger spam-list blocklisting - rather than direct system compromise. The information disclosure component adds modest targeted-attack value. This is a real priority for operators concerned about mail abuse or user enumeration, but not an emergency patch for organizations without external mail exposure. |
| Exploit ScenarioDerived | An unauthenticated attacker sends repeated HTTP POST requests to https://target.rocketchat.example/api/v1/method.callAnon/sendForgotPasswordEmail with a victim's email address in the body, driving the server to dispatch hundreds of password reset emails per minute from its configured mail sender. In a parallel enumeration pass, the attacker submits a list of candidate email addresses and identifies OAuth-only accounts by observing false responses - narrowing a target list for credential stuffing or spear-phishing against those users' OAuth identity providers. No exploit code is publicly available; a standard HTTP client and a list of candidate addresses are sufficient to exercise both attack paths. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 25, 2026
Rocket.Chat's unauthenticated DDP method sendForgotPasswordEmail lacks a rate-limiting rule, enabling any network caller to flood a target email address with password reset messages from the deployment's own mail sender and to enumerate account types at scale. The method is reachable both via the Meteor DDP protocol and the unauthenticated HTTP route POST /api/v1/method.callAnon/sendForgotPasswordEmail, requiring no credentials. A side-channel in the method's response - returning false only when the target belongs to an OAuth-authenticated account with Accounts_AllowPasswordChangeForOAuthUsers disabled - allows an attacker to distinguish account authentication types, confirming information disclosure beyond simple email abuse. No public exploit or KEV listing is identified at time of analysis.
RemediationAI
Upgrade Rocket.Chat to a version that includes commit 3a61c3afe or later, which registers a DDPRateLimiter rule allowing ten calls per sixty seconds per client address for the sendForgotPasswordEmail method, matching the existing rate limit on the REST users.forgotPassword endpoint. The fix is tracked under the @rocket.chat/meteor patch changeset; consult the vendor advisory at https://github.com/RocketChat/Rocket.Chat/security/advisories/GHSA-7c6v-m68v-v73r for the specific tagged release version. As a compensating control prior to patching, operators can block or rate-limit external access to POST /api/v1/method.callAnon/sendForgotPasswordEmail at the reverse proxy or WAF layer, restricting callers to trusted IP ranges; this mitigates the HTTP vector but does not address DDP clients unless the DDP WebSocket port is similarly restricted. Note that blocking the anonymous method endpoint may impact legitimate forgot-password flows for unauthenticated users if not carefully scoped.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Rocket.Chat is built on the Meteor framework, which uses DDP (Distributed Data Protocol) as its primary client-server communication protocol. Meteor exposes server-side logic as named 'methods' callable via DDP or through bridged HTTP routes. The affected method sendForgotPasswordEmail (apps/meteor/server/meteor-methods/auth/sendForgotPasswordEmail.ts) is an unauthenticated method that triggers the platform's password reset email flow. Meteor provides DDPRateLimiter as the standard mechanism to throttle method calls per connection or client address, but no DDPRateLimiter.addRule was registered for this method prior to the fix. CPE cpe:2.3:a:rocketchat:rocket.chat:*:*:*:*:*:*:*:* covers all versions. CWE-307 (Improper Restriction of Excessive Authentication Attempts) applies here: the lack of call-rate enforcement on a sensitive authentication-adjacent operation directly enables both mail flooding and iterative account probing, which is the canonical CWE-307 scenario.
Know when Rocket Chat gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
Network-reachable, no credentials required, no user interaction; only low confidentiality impact from account-type enumeration, no integrity or availability impact to the system.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Rocket.Chat exposes the sendForgotPasswordEmail Meteor method without a DDP rate limit, so an unauthenticated caller may invoke it as often as it likes. The method is reachable over DDP and over the HTTP route POST /api/v1/method.callAnon/sendForgotPasswordEmail, and it triggers a password reset message for any address that matches an account. With no DDPRateLimiter rule registered for it, a caller can drive an unbounded volume of reset mail at a chosen address from the deployment's own mail sender, and can probe addresses at scale: the method answers true for an address with no account and for a successful send, but false when the address belongs to an account that authenticates through an external provider and Accounts_AllowPasswordChangeForOAuthUsers is off, so repeated calls distinguish that class of account. Later versions register a rule permitting ten calls per minute per client address.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
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
EUVD-2026-65218
GHSA-jfh6-w7r2-rj74
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB