Vulnerability Details CVE-2025-64526
Strapi is an open source headless content management system. In Strapi versions prior to 5.45.0, the rate-limit middleware in the users-permissions plugin derived its rate-limit key in part from `ctx.request.body.email`, including on routes whose body schema does not contain an `email` field (`/auth/local`, `/auth/reset-password`, `/auth/change-password`). An unauthenticated attacker could include an arbitrary `email` value in the request body to obtain a fresh rate-limit key per request, effectively bypassing per-IP throttling on those routes and enabling high-volume credential brute-force, password-reset code brute-force, and credential-stuffing attempts. The rate-limit key was constructed as `${userIdentifier}:${requestPath}:${ctx.request.ip}`, where `userIdentifier = ctx.request.body.email`. On routes that legitimately use email as their identifier (e.g. `/auth/forgot-password`, `/auth/local/register`), this scoping is correct. On routes that use a different identifier (`identifier` for login, `code` for password reset, `currentPassword` for password change), the email field was not part of the route contract, but the middleware still incorporated it into the key, allowing a caller to rotate the value and obtain a unique key on every request. The patch in version 5.45.0 maintains an allow-list of routes that legitimately key on the email field and excludes that key component on every other route the middleware is mounted on. OAuth callback paths (`/connect/*`) are treated identifier-less. On routes outside the allow-list, the middleware now falls back to a fixed identifier-less key, ensuring per-IP throttling remains effective even when the request body is attacker-controlled.
Exploit prediction scoring system (EPSS) score
EPSS Score 0.0
EPSS Ranking 1.2%
CVSS Severity
CVSS v3 Score 5.3
Products affected by CVE-2025-64526
-
cpe:2.3:a:strapi:strapi:1.0.0
-
cpe:2.3:a:strapi:strapi:1.0.1
-
cpe:2.3:a:strapi:strapi:1.0.2
-
cpe:2.3:a:strapi:strapi:1.0.3
-
cpe:2.3:a:strapi:strapi:1.0.4
-
cpe:2.3:a:strapi:strapi:1.0.5
-
cpe:2.3:a:strapi:strapi:1.0.6
-
cpe:2.3:a:strapi:strapi:1.1.0
-
cpe:2.3:a:strapi:strapi:1.2.0
-
cpe:2.3:a:strapi:strapi:1.3.0
-
cpe:2.3:a:strapi:strapi:1.3.1
-
cpe:2.3:a:strapi:strapi:1.4.0
-
cpe:2.3:a:strapi:strapi:1.4.1
-
cpe:2.3:a:strapi:strapi:1.5.0
-
cpe:2.3:a:strapi:strapi:1.5.1
-
cpe:2.3:a:strapi:strapi:1.5.2
-
cpe:2.3:a:strapi:strapi:1.5.3
-
cpe:2.3:a:strapi:strapi:1.5.4
-
cpe:2.3:a:strapi:strapi:1.5.7
-
cpe:2.3:a:strapi:strapi:1.6.0
-
cpe:2.3:a:strapi:strapi:1.6.1
-
cpe:2.3:a:strapi:strapi:1.6.2
-
cpe:2.3:a:strapi:strapi:1.6.3
-
cpe:2.3:a:strapi:strapi:1.6.4
-
cpe:2.3:a:strapi:strapi:3.0.0
-
cpe:2.3:a:strapi:strapi:3.0.1
-
cpe:2.3:a:strapi:strapi:3.0.2
-
cpe:2.3:a:strapi:strapi:3.0.3
-
cpe:2.3:a:strapi:strapi:3.0.4
-
cpe:2.3:a:strapi:strapi:3.0.5
-
cpe:2.3:a:strapi:strapi:3.0.6
-
cpe:2.3:a:strapi:strapi:3.1.0
-
cpe:2.3:a:strapi:strapi:3.1.1
-
cpe:2.3:a:strapi:strapi:3.1.2
-
cpe:2.3:a:strapi:strapi:3.1.3
-
cpe:2.3:a:strapi:strapi:3.1.4
-
cpe:2.3:a:strapi:strapi:3.1.5
-
cpe:2.3:a:strapi:strapi:3.1.6
-
cpe:2.3:a:strapi:strapi:3.1.7
-
cpe:2.3:a:strapi:strapi:3.2.0
-
cpe:2.3:a:strapi:strapi:3.2.1
-
cpe:2.3:a:strapi:strapi:3.2.2
-
cpe:2.3:a:strapi:strapi:3.2.3
-
cpe:2.3:a:strapi:strapi:3.2.4
-
cpe:2.3:a:strapi:strapi:3.2.5
-
cpe:2.3:a:strapi:strapi:3.3.0
-
cpe:2.3:a:strapi:strapi:3.3.1
-
cpe:2.3:a:strapi:strapi:3.3.2
-
cpe:2.3:a:strapi:strapi:3.3.3
-
cpe:2.3:a:strapi:strapi:3.3.4
-
cpe:2.3:a:strapi:strapi:3.4.0
-
cpe:2.3:a:strapi:strapi:3.4.1
-
cpe:2.3:a:strapi:strapi:3.4.2
-
cpe:2.3:a:strapi:strapi:3.4.3
-
cpe:2.3:a:strapi:strapi:3.4.4
-
cpe:2.3:a:strapi:strapi:3.4.5
-
cpe:2.3:a:strapi:strapi:3.4.6
-
cpe:2.3:a:strapi:strapi:3.5.0
-
cpe:2.3:a:strapi:strapi:3.5.1
-
cpe:2.3:a:strapi:strapi:3.5.2
-
cpe:2.3:a:strapi:strapi:3.5.3
-
cpe:2.3:a:strapi:strapi:3.5.4
-
cpe:2.3:a:strapi:strapi:3.6.0
-
cpe:2.3:a:strapi:strapi:3.6.1
-
cpe:2.3:a:strapi:strapi:3.6.10
-
cpe:2.3:a:strapi:strapi:3.6.11
-
cpe:2.3:a:strapi:strapi:3.6.2
-
cpe:2.3:a:strapi:strapi:3.6.3
-
cpe:2.3:a:strapi:strapi:3.6.4
-
cpe:2.3:a:strapi:strapi:3.6.5
-
cpe:2.3:a:strapi:strapi:3.6.6
-
cpe:2.3:a:strapi:strapi:3.6.7
-
cpe:2.3:a:strapi:strapi:3.6.8
-
cpe:2.3:a:strapi:strapi:3.6.9
-
cpe:2.3:a:strapi:strapi:4.0.0
-
cpe:2.3:a:strapi:strapi:4.0.1
-
cpe:2.3:a:strapi:strapi:4.0.2
-
cpe:2.3:a:strapi:strapi:4.0.3
-
cpe:2.3:a:strapi:strapi:4.0.4
-
cpe:2.3:a:strapi:strapi:4.0.5
-
cpe:2.3:a:strapi:strapi:4.0.6
-
cpe:2.3:a:strapi:strapi:4.0.7
-
cpe:2.3:a:strapi:strapi:4.0.8
-
cpe:2.3:a:strapi:strapi:4.1.0
-
cpe:2.3:a:strapi:strapi:4.1.1
-
cpe:2.3:a:strapi:strapi:4.1.10
-
cpe:2.3:a:strapi:strapi:4.1.11
-
cpe:2.3:a:strapi:strapi:4.1.12
-
cpe:2.3:a:strapi:strapi:4.1.2
-
cpe:2.3:a:strapi:strapi:4.1.3
-
cpe:2.3:a:strapi:strapi:4.1.4
-
cpe:2.3:a:strapi:strapi:4.1.5
-
cpe:2.3:a:strapi:strapi:4.1.6
-
cpe:2.3:a:strapi:strapi:4.1.7
-
cpe:2.3:a:strapi:strapi:4.1.8
-
cpe:2.3:a:strapi:strapi:4.1.9
-
cpe:2.3:a:strapi:strapi:4.10.0
-
cpe:2.3:a:strapi:strapi:4.10.1
-
cpe:2.3:a:strapi:strapi:4.10.2
-
cpe:2.3:a:strapi:strapi:4.10.4
-
cpe:2.3:a:strapi:strapi:4.10.5
-
cpe:2.3:a:strapi:strapi:4.10.6
-
cpe:2.3:a:strapi:strapi:4.10.7
-
cpe:2.3:a:strapi:strapi:4.10.8
-
cpe:2.3:a:strapi:strapi:4.11.0
-
cpe:2.3:a:strapi:strapi:4.11.1
-
cpe:2.3:a:strapi:strapi:4.11.2
-
cpe:2.3:a:strapi:strapi:4.11.3
-
cpe:2.3:a:strapi:strapi:4.11.4
-
cpe:2.3:a:strapi:strapi:4.11.5
-
cpe:2.3:a:strapi:strapi:4.11.7
-
cpe:2.3:a:strapi:strapi:4.12.0
-
cpe:2.3:a:strapi:strapi:4.12.1
-
cpe:2.3:a:strapi:strapi:4.12.4
-
cpe:2.3:a:strapi:strapi:4.12.5
-
cpe:2.3:a:strapi:strapi:4.12.6
-
cpe:2.3:a:strapi:strapi:4.12.7
-
cpe:2.3:a:strapi:strapi:4.13.1
-
cpe:2.3:a:strapi:strapi:4.13.2
-
cpe:2.3:a:strapi:strapi:4.13.3
-
cpe:2.3:a:strapi:strapi:4.13.4
-
cpe:2.3:a:strapi:strapi:4.13.5
-
cpe:2.3:a:strapi:strapi:4.13.6
-
cpe:2.3:a:strapi:strapi:4.13.7
-
cpe:2.3:a:strapi:strapi:4.14.0
-
cpe:2.3:a:strapi:strapi:4.14.2
-
cpe:2.3:a:strapi:strapi:4.14.3
-
cpe:2.3:a:strapi:strapi:4.14.4
-
cpe:2.3:a:strapi:strapi:4.14.5
-
cpe:2.3:a:strapi:strapi:4.14.6
-
cpe:2.3:a:strapi:strapi:4.15.0
-
cpe:2.3:a:strapi:strapi:4.15.1
-
cpe:2.3:a:strapi:strapi:4.15.2
-
cpe:2.3:a:strapi:strapi:4.15.3
-
cpe:2.3:a:strapi:strapi:4.15.4
-
cpe:2.3:a:strapi:strapi:4.15.5
-
cpe:2.3:a:strapi:strapi:4.16.0
-
cpe:2.3:a:strapi:strapi:4.16.1
-
cpe:2.3:a:strapi:strapi:4.16.2
-
cpe:2.3:a:strapi:strapi:4.17.0
-
cpe:2.3:a:strapi:strapi:4.17.1
-
cpe:2.3:a:strapi:strapi:4.19.0
-
cpe:2.3:a:strapi:strapi:4.19.1
-
cpe:2.3:a:strapi:strapi:4.2.0
-
cpe:2.3:a:strapi:strapi:4.2.2
-
cpe:2.3:a:strapi:strapi:4.2.3
-
cpe:2.3:a:strapi:strapi:4.20.0
-
cpe:2.3:a:strapi:strapi:4.20.1
-
cpe:2.3:a:strapi:strapi:4.20.2
-
cpe:2.3:a:strapi:strapi:4.20.3
-
cpe:2.3:a:strapi:strapi:4.20.4
-
cpe:2.3:a:strapi:strapi:4.20.5
-
cpe:2.3:a:strapi:strapi:4.21.0
-
cpe:2.3:a:strapi:strapi:4.21.1
-
cpe:2.3:a:strapi:strapi:4.22.0
-
cpe:2.3:a:strapi:strapi:4.22.1
-
cpe:2.3:a:strapi:strapi:4.23.0
-
cpe:2.3:a:strapi:strapi:4.23.1
-
cpe:2.3:a:strapi:strapi:4.23.2
-
cpe:2.3:a:strapi:strapi:4.24.0
-
cpe:2.3:a:strapi:strapi:4.24.1
-
cpe:2.3:a:strapi:strapi:4.24.2
-
cpe:2.3:a:strapi:strapi:4.24.3
-
cpe:2.3:a:strapi:strapi:4.24.4
-
cpe:2.3:a:strapi:strapi:4.24.5
-
cpe:2.3:a:strapi:strapi:4.25.0
-
cpe:2.3:a:strapi:strapi:4.25.1
-
cpe:2.3:a:strapi:strapi:4.25.10
-
cpe:2.3:a:strapi:strapi:4.25.11
-
cpe:2.3:a:strapi:strapi:4.25.12
-
cpe:2.3:a:strapi:strapi:4.25.13
-
cpe:2.3:a:strapi:strapi:4.25.14
-
cpe:2.3:a:strapi:strapi:4.25.15
-
cpe:2.3:a:strapi:strapi:4.25.16
-
cpe:2.3:a:strapi:strapi:4.25.17
-
cpe:2.3:a:strapi:strapi:4.25.19
-
cpe:2.3:a:strapi:strapi:4.25.2
-
cpe:2.3:a:strapi:strapi:4.25.20
-
cpe:2.3:a:strapi:strapi:4.25.21
-
cpe:2.3:a:strapi:strapi:4.25.22
-
cpe:2.3:a:strapi:strapi:4.25.23
-
cpe:2.3:a:strapi:strapi:4.25.24
-
cpe:2.3:a:strapi:strapi:4.25.3
-
cpe:2.3:a:strapi:strapi:4.25.4
-
cpe:2.3:a:strapi:strapi:4.25.5
-
cpe:2.3:a:strapi:strapi:4.25.6
-
cpe:2.3:a:strapi:strapi:4.25.7
-
cpe:2.3:a:strapi:strapi:4.25.8
-
cpe:2.3:a:strapi:strapi:4.25.9
-
cpe:2.3:a:strapi:strapi:4.26.0
-
cpe:2.3:a:strapi:strapi:4.26.1
-
cpe:2.3:a:strapi:strapi:4.3.0
-
cpe:2.3:a:strapi:strapi:4.3.1
-
cpe:2.3:a:strapi:strapi:4.3.2
-
cpe:2.3:a:strapi:strapi:4.3.3
-
cpe:2.3:a:strapi:strapi:4.3.4
-
cpe:2.3:a:strapi:strapi:4.3.5
-
cpe:2.3:a:strapi:strapi:4.3.6
-
cpe:2.3:a:strapi:strapi:4.3.7
-
cpe:2.3:a:strapi:strapi:4.3.8
-
cpe:2.3:a:strapi:strapi:4.3.9
-
cpe:2.3:a:strapi:strapi:4.4.0
-
cpe:2.3:a:strapi:strapi:4.4.1
-
cpe:2.3:a:strapi:strapi:4.4.2
-
cpe:2.3:a:strapi:strapi:4.4.3
-
cpe:2.3:a:strapi:strapi:4.4.4
-
cpe:2.3:a:strapi:strapi:4.4.5
-
cpe:2.3:a:strapi:strapi:4.4.6
-
cpe:2.3:a:strapi:strapi:4.4.7
-
cpe:2.3:a:strapi:strapi:4.5.0
-
cpe:2.3:a:strapi:strapi:4.5.1
-
cpe:2.3:a:strapi:strapi:4.5.2
-
cpe:2.3:a:strapi:strapi:4.5.3
-
cpe:2.3:a:strapi:strapi:4.5.4
-
cpe:2.3:a:strapi:strapi:4.5.5
-
cpe:2.3:a:strapi:strapi:4.5.6
-
cpe:2.3:a:strapi:strapi:4.6.0
-
cpe:2.3:a:strapi:strapi:4.6.1
-
cpe:2.3:a:strapi:strapi:4.6.2
-
cpe:2.3:a:strapi:strapi:4.7.0
-
cpe:2.3:a:strapi:strapi:4.7.1
-
cpe:2.3:a:strapi:strapi:4.8.0
-
cpe:2.3:a:strapi:strapi:4.8.1
-
cpe:2.3:a:strapi:strapi:4.8.2
-
cpe:2.3:a:strapi:strapi:4.9.0
-
cpe:2.3:a:strapi:strapi:4.9.1
-
cpe:2.3:a:strapi:strapi:4.9.2
-
cpe:2.3:a:strapi:strapi:5.0.0
-
cpe:2.3:a:strapi:strapi:5.0.1
-
cpe:2.3:a:strapi:strapi:5.0.2
-
cpe:2.3:a:strapi:strapi:5.0.3
-
cpe:2.3:a:strapi:strapi:5.0.4
-
cpe:2.3:a:strapi:strapi:5.0.5
-
cpe:2.3:a:strapi:strapi:5.0.6
-
cpe:2.3:a:strapi:strapi:5.1.0
-
cpe:2.3:a:strapi:strapi:5.1.1
-
cpe:2.3:a:strapi:strapi:5.10.0
-
cpe:2.3:a:strapi:strapi:5.10.1
-
cpe:2.3:a:strapi:strapi:5.10.2
-
cpe:2.3:a:strapi:strapi:5.10.3
-
cpe:2.3:a:strapi:strapi:5.10.4
-
cpe:2.3:a:strapi:strapi:5.11.0
-
cpe:2.3:a:strapi:strapi:5.11.1
-
cpe:2.3:a:strapi:strapi:5.11.2
-
cpe:2.3:a:strapi:strapi:5.11.3
-
cpe:2.3:a:strapi:strapi:5.12.0
-
cpe:2.3:a:strapi:strapi:5.12.1
-
cpe:2.3:a:strapi:strapi:5.12.2
-
cpe:2.3:a:strapi:strapi:5.12.3
-
cpe:2.3:a:strapi:strapi:5.12.4
-
cpe:2.3:a:strapi:strapi:5.12.5
-
cpe:2.3:a:strapi:strapi:5.12.6
-
cpe:2.3:a:strapi:strapi:5.12.7
-
cpe:2.3:a:strapi:strapi:5.13.0
-
cpe:2.3:a:strapi:strapi:5.13.1
-
cpe:2.3:a:strapi:strapi:5.14.0
-
cpe:2.3:a:strapi:strapi:5.15.0
-
cpe:2.3:a:strapi:strapi:5.15.1
-
cpe:2.3:a:strapi:strapi:5.16.0
-
cpe:2.3:a:strapi:strapi:5.16.1
-
cpe:2.3:a:strapi:strapi:5.17.0
-
cpe:2.3:a:strapi:strapi:5.18.0
-
cpe:2.3:a:strapi:strapi:5.18.1
-
cpe:2.3:a:strapi:strapi:5.19.0
-
cpe:2.3:a:strapi:strapi:5.2.0
-
cpe:2.3:a:strapi:strapi:5.20.0
-
cpe:2.3:a:strapi:strapi:5.21.0
-
cpe:2.3:a:strapi:strapi:5.22.0
-
cpe:2.3:a:strapi:strapi:5.23.0
-
cpe:2.3:a:strapi:strapi:5.23.1
-
cpe:2.3:a:strapi:strapi:5.23.2
-
cpe:2.3:a:strapi:strapi:5.23.3
-
cpe:2.3:a:strapi:strapi:5.23.4
-
cpe:2.3:a:strapi:strapi:5.23.5
-
cpe:2.3:a:strapi:strapi:5.23.6
-
cpe:2.3:a:strapi:strapi:5.24.0
-
cpe:2.3:a:strapi:strapi:5.24.1
-
cpe:2.3:a:strapi:strapi:5.24.2
-
cpe:2.3:a:strapi:strapi:5.25.0
-
cpe:2.3:a:strapi:strapi:5.26.0
-
cpe:2.3:a:strapi:strapi:5.27.0
-
cpe:2.3:a:strapi:strapi:5.28.0
-
cpe:2.3:a:strapi:strapi:5.29.0
-
cpe:2.3:a:strapi:strapi:5.3.0
-
cpe:2.3:a:strapi:strapi:5.30.0
-
cpe:2.3:a:strapi:strapi:5.30.1
-
cpe:2.3:a:strapi:strapi:5.31.0
-
cpe:2.3:a:strapi:strapi:5.31.1
-
cpe:2.3:a:strapi:strapi:5.31.2
-
cpe:2.3:a:strapi:strapi:5.31.3
-
cpe:2.3:a:strapi:strapi:5.32.0
-
cpe:2.3:a:strapi:strapi:5.33.0
-
cpe:2.3:a:strapi:strapi:5.33.1
-
cpe:2.3:a:strapi:strapi:5.33.2
-
cpe:2.3:a:strapi:strapi:5.33.3
-
cpe:2.3:a:strapi:strapi:5.33.4
-
cpe:2.3:a:strapi:strapi:5.34.0
-
cpe:2.3:a:strapi:strapi:5.35.0
-
cpe:2.3:a:strapi:strapi:5.36.0
-
cpe:2.3:a:strapi:strapi:5.36.1
-
cpe:2.3:a:strapi:strapi:5.37.0
-
cpe:2.3:a:strapi:strapi:5.37.1
-
cpe:2.3:a:strapi:strapi:5.38.0
-
cpe:2.3:a:strapi:strapi:5.38.1
-
cpe:2.3:a:strapi:strapi:5.39.0
-
cpe:2.3:a:strapi:strapi:5.4.0
-
cpe:2.3:a:strapi:strapi:5.4.1
-
cpe:2.3:a:strapi:strapi:5.4.2
-
cpe:2.3:a:strapi:strapi:5.40.0
-
cpe:2.3:a:strapi:strapi:5.41.0
-
cpe:2.3:a:strapi:strapi:5.41.1
-
cpe:2.3:a:strapi:strapi:5.42.0
-
cpe:2.3:a:strapi:strapi:5.42.1
-
cpe:2.3:a:strapi:strapi:5.43.0
-
cpe:2.3:a:strapi:strapi:5.44.0
-
cpe:2.3:a:strapi:strapi:5.5.0
-
cpe:2.3:a:strapi:strapi:5.5.1
-
cpe:2.3:a:strapi:strapi:5.6.0
-
cpe:2.3:a:strapi:strapi:5.7.0
-
cpe:2.3:a:strapi:strapi:5.8.0
-
cpe:2.3:a:strapi:strapi:5.8.1
-
cpe:2.3:a:strapi:strapi:5.9.0