Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1336 CNY

100%

CVE-2025-64526— Strapi has a rate limit bypass on users-permissions plugin via attacker-controlled email keying

Quick assessment

Affected
strapi strapi
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

Strapi是法国strapi社区的一套开源的内容管理系统(CMS)。 Strapi 5.45.0之前版本存在安全漏洞,该漏洞源于users-permissions插件中的速率限制中间件从ctx.request.body.email派生速率限制键,包括在请求体模式不包含email字段的路由上,可能导致未经身份验证的攻击者在每个请求中包含任意email值以获取新的速率限制键,从而绕过基于IP的节流并实现高容量凭据暴力破解、密码重置码暴力破解和凭据填充攻击。

AI Predicted 7.5 Difficulty: Easy EPSS 0.49% · P40

Affected Version Matrix 2

VendorProduct Version RangeStatus
strapi @strapi/plugin-users-permissions < 5.45.0 affected
strapi strapi < 5.45.0 affected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2025-64526

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
Strapi has a rate limit bypass on users-permissions plugin via attacker-controlled email keying
Source: CVE Program / CVE List V5
Vulnerability Description
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.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
Source: CVE Program / CVE List V5
Vulnerability Type
过多认证尝试的限制不恰当
Source: CVE Program / CVE List V5
Vulnerability Title
Strapi 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Strapi是法国strapi社区的一套开源的内容管理系统(CMS)。 Strapi 5.45.0之前版本存在安全漏洞,该漏洞源于users-permissions插件中的速率限制中间件从ctx.request.body.email派生速率限制键,包括在请求体模式不包含email字段的路由上,可能导致未经身份验证的攻击者在每个请求中包含任意email值以获取新的速率限制键,从而绕过基于IP的节流并实现高容量凭据暴力破解、密码重置码暴力破解和凭据填充攻击。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

Vendor Product Affected Versions CPE Subscribe
strapi strapi < 5.45.0 -
strapi @strapi/plugin-users-permissions < 5.45.0 -

II. Public POCs for CVE-2025-64526

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2025-64526

登录查看更多情报信息。

Patches & Fixes for CVE-2025-64526 (2)

Vendor Advisories for CVE-2025-64526 (1)

Same Patch Batch · strapi · 2026-05-14 · 5 CVEs total

CVE-2026-22706 Strapi: Password Reset Does Not Revoke Existing Refresh Sessions
CVE-2026-22707 Strapi Upload Plugin MIME Validation Bypass via Content API
CVE-2026-22599 Strapi Vulnerable to SQL Injection in Content Type Builder
CVE-2026-27886 Strapi may leak sensitive data via relational filtering due to lack of query sanitization

IV. Related Vulnerabilities

V. Comments for CVE-2025-64526

No comments yet


Leave a comment