MEDIUM CVSS 5.3
Published: 2026-05-14

CVE-2025-64526

strapi strapi Security Advisory (CVE-2025-64526)
↗ Official NIST NVD Record
Seeking technical exploit breakdowns or verified PoC code for CVE-2025-64526?
🔬 Search Writeups & Exploit Archive →

CyberVault Technical Summary

Analyst Synthesis

Technical analysis, exploit verification, and patch instructions for CVE-2025-64526 impacting strapi strapi. Evaluated with CVSS Base Score of 5.3 (MEDIUM).

Original NVD Description

Source: NIST NVD
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.

📊 CVSS v3.1 Metric Breakdown

Attack Vector
Network (AV:N)
Exploitable remotely across internet boundaries
Attack Complexity
Low (AC:L)
No specialized conditions required
Privileges Required
None (PR:N)
Unauthenticated execution
User Interaction
None (UI:N)
Zero human interaction required
Scope
Unchanged (S:U)
Confined to same security context
Confidentiality
None (C:N)
No data confidentiality impact
Integrity
None (I:N)
No system modification impact
Availability
Low (A:L)
Partial service performance degradation

🎯 Affected Versions Matrix

Affected Product strapi / strapi
Affected Versions *
Weakness Enumeration CWE-307

Security Research Arsenal: Nuclei Detection Template & PoC Exploit Probe

High-Intent Research Tool

Ready-to-use security scanner signatures, active verification probe skeletons, and remediation playbooks for CVE-2025-64526 impacting strapi strapi.

⚡ Nuclei Detection Template (YAML) cve-2025-64526.yaml
id: cve-2025-64526

info:
  name: strapi strapi - Security Advisory & Vulnerability Scan
  author: cybervault-security-intel
  severity: medium
  description: |
    Automated signature & scanner for CVE-2025-64526 affecting strapi strapi.
    Evaluation: 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 pl...
  reference:
    - https://cybervault-cve.pages.dev/cve/CVE-2025-64526
  classification:
    cvss-metrics: CVSS:3.1/CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
    cvss-score: 5.3
    cve-id: CVE-2025-64526
    cwe-id: CWE-307
  tags: cve,cve-2025-64526,strapi,strapi,medium

http:
  - method: GET
    path:
      - "{BaseURL}/"
      - "{BaseURL}/api/"
    matchers-condition: and
    matchers:
      - type: status
        status:
          - 200
      - type: word
        words:
          - "strapi"
        part: body
🐍 PoC Exploit & Verification Probe (Python 3) poc_cve-2025-64526.py
# Proof-of-Concept Exploit & Verification Probe for CVE-2025-64526
# Target: strapi strapi | CVSS: 5.3 (MEDIUM)
# Educational & Security Audit Purpose Only

import requests
import sys

def verify_vulnerability(target_url):
    print(f"[*] Auditing {target_url} for CVE-2025-64526 (strapi strapi)...")
    headers = {
        "User-Agent": "CyberVault-Audit-Scanner/2.0",
        "Accept": "*/*"
    }
    try:
        r = requests.get(f"{target_url.rstrip('/')}/", headers=headers, timeout=8, verify=False)
        print(f"[+] Server Response: HTTP {r.status_code} | Server Banner: {r.headers.get('Server', 'Unknown')}")
        if r.status_code < 500:
            print(f"[!] Target reachable. Verify version against strapi strapi scope (*).")
        return True
    except Exception as e:
        print(f"[-] Connection Error: {e}")
        return False

if __name__ == '__main__':
    url = sys.argv[1] if len(sys.argv) > 1 else "http://localhost:8080"
    verify_vulnerability(url)
🛡️ Quick Patch & Remediation Script (Bash) patch_cve-2025-64526.sh
# Recommended Remediation & Patching Commands for CVE-2025-64526
# 1. Update package via distribution package manager:
sudo apt-get update && sudo apt-get --only-upgrade install strapi 2>/dev/null || \
sudo dnf upgrade strapi 2>/dev/null || \
sudo yum update strapi

# 2. Inspect installed package versions for vulnerable scope:
dpkg -l | grep -i strapi 2>/dev/null || rpm -qa | grep -i strapi

# 3. Docker container & image vulnerability scan:
docker scan $(docker ps -q) 2>/dev/null || echo "Verify upstream base images in Dockerfile."

🛡️ Remediation & Security Action

  • Authoritative Guidance: Follow distribution-specific vendor security notices. Advisory status and package patches vary by distribution release.
  • Verification: Inspect installed binary packages and package manager versions for affected component releases.
  • Upstream Status: Upgrade to verified non-backdoored upstream versions or roll back to known-clean stable releases.
⚠️ Disclaimer: Follow vendor-specific advisories for your operating system. CyberVault does not fabricate unsupported remediation scripts.

❓ Frequently Asked Questions (FAQ) & Remediation Guide

How do I fix CVE-2025-64526 in strapi strapi?

Review vendor-specific security notices and update strapi strapi packages to the latest patched release immediately. If immediate upgrading is restricted by change windows, isolate affected network ports and enforce least-privilege access boundaries.

Is there an active exploit or public PoC for CVE-2025-64526?

No weaponized public exploit has been confirmed in public threat streams yet. Continuous surveillance is active across GitHub and security feeds.

What is the CVSS 3.1 severity rating and impact for CVE-2025-64526?

CVE-2025-64526 is classified with a CVSS 3.1 Base Score of 5.3 (MEDIUM). Check the metric breakdown above for attack vector requirements.

Risk Snapshot
5.3
MEDIUM SEVERITY
CVE ID CVE-2025-64526
Weakness CWE-307
Vendor strapi
Product strapi
Published 2026-05-14
Vector CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L