CVE-2024-34065

7.1 HIGH

📋 TL;DR

This CVE describes an authentication bypass vulnerability in Strapi's users-permissions plugin. By combining an open redirect with session tokens sent as URL parameters, unauthenticated attackers can obtain third-party tokens and bypass authentication with just one user click. All Strapi instances using affected plugin versions are vulnerable.

💻 Affected Systems

Products:
  • Strapi CMS with @strapi/plugin-users-permissions
Versions: All versions before 4.24.2
Operating Systems: All platforms running Strapi
Default Config Vulnerable: ⚠️ Yes
Notes: Requires the users-permissions plugin to be enabled, which is common in Strapi deployments.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete account takeover, unauthorized access to sensitive data, and potential privilege escalation to administrative functions.

🟠

Likely Case

Unauthorized access to user accounts, exposure of third-party authentication tokens, and potential data exfiltration.

🟢

If Mitigated

Limited impact with proper network segmentation and monitoring, but still represents authentication bypass risk.

🌐 Internet-Facing: HIGH - Exploitable with just one user click and requires no authentication.
🏢 Internal Only: MEDIUM - Still exploitable internally but requires user interaction and internal access.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Exploit requires user interaction (one click) but is otherwise straightforward. No public PoC available but advisory provides technical details.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 4.24.2

Vendor Advisory: https://github.com/strapi/strapi/security/advisories/GHSA-wrvh-rcmr-9qfc

Restart Required: Yes

Instructions:

1. Update @strapi/plugin-users-permissions to version 4.24.2 using npm or yarn. 2. Restart the Strapi application. 3. Verify the update was successful.

🔧 Temporary Workarounds

Disable affected authentication endpoints

all

Temporarily disable third-party authentication endpoints until patching is possible.

Modify Strapi configuration to disable OAuth/third-party authentication providers

🧯 If You Can't Patch

  • Implement strict network access controls to limit exposure of Strapi admin interfaces
  • Enable detailed logging and monitoring for authentication attempts and token usage

🔍 How to Verify

Check if Vulnerable:

Check package.json for @strapi/plugin-users-permissions version. If version is <4.24.2, system is vulnerable.

Check Version:

npm list @strapi/plugin-users-permissions or check package.json

Verify Fix Applied:

Verify @strapi/plugin-users-permissions version is 4.24.2 or higher in package.json and running application.

📡 Detection & Monitoring

Log Indicators:

  • Unusual authentication patterns
  • Multiple failed login attempts followed by successful login from same IP
  • Requests with suspicious URL parameters containing tokens

Network Indicators:

  • Unusual traffic to authentication endpoints
  • Requests with redirect parameters to external domains

SIEM Query:

source="strapi" AND (url="*redirect*" OR url="*token*" OR url="*auth*") AND status=200

🔗 References

📤 Share & Export