Strapi Users-Permissions Plugin Rate Limit Bypass Vulnerability

Vulnerability

A vulnerability exists in the Strapi users-permissions plugin, specifically in versions through 5.44.0, allowing for a rate limit bypass on certain authentication routes. The issue arises because the rate-limit middleware incorrectly includes `ctx.request.body.email` in the rate-limit key for routes that do not use email as an identifier. This flaw enables unauthenticated attackers to manipulate the email field and obtain a unique rate-limit key for each request, effectively circumventing per-IP throttling. As a result, attackers can launch high-volume brute-force attacks on credentials, password reset codes, and engage in credential stuffing.

Impact

Exploitation of this vulnerability allows for the bypass of rate limits on specific authentication routes, enabling high-volume brute-force attacks on user credentials and password reset processes.

Reproduction

To reproduce this vulnerability, send a POST request to one of the affected routes (`/auth/local`, `/auth/reset-password`, or `/auth/change-password`) without a valid email in the request body. Include an arbitrary email value in the body instead. The rate-limit middleware will process the request using the injected email, creating a fresh rate-limit key that bypasses the normal throttling mechanisms. This can be automated to send a large number of requests in a short period, exploiting the lack of effective rate limiting on these routes.

Remediation

Users can update Strapi to version 5.45.0 or later, where this vulnerability has been patched.

Added: May 14, 2026, 7:46 PM
Updated: May 14, 2026, 7:46 PM

Vulnerability Rating

Custom Algorithm
spread
5.0
impact
0.6
exploitability
9.1
remediation
7.7
relevance
8.3
threat
4.8
urgency
2.9
incentive
8.3

Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.