Description (CNA)
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.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| RocketChat / Rocket.Chat | affected 0 before 7.10.15; affected 8.0.0 before 8.1.8; affected 8.2.0 before 8.2.8; affected 8.3.0 before 8.3.8; affected 8.4.0 before 8.4.6; affected 8.5.0 before 8.5.3; affected 8.6.0 before 8.6.2; affected 8.7.0 before 8.7.2; affected 8.8.0-rc.0 before 8.8.0 |
CWE
CWE-307, CWE-204
References
- https://github.com/RocketChat/Rocket.Chat/security/advisories/GHSA-7c6v-m68v-v73r
- https://github.com/RocketChat/Rocket.Chat
- https://github.com/RocketChat/Rocket.Chat/commit/3a61c3afe
- https://www.vulncheck.com/advisories/rocket-chat-missing-ddp-rate-limit-on-the-sendforgotpasswordemail-meteor-method
ADP enrichment
No English description supplied.
No references supplied.