CVE-2025-59934

9.4 CRITICAL

📋 TL;DR

This vulnerability allows attackers to bypass authentication in Formbricks by forging JWT tokens without signature verification. Attackers who know a victim's user ID can create arbitrary tokens to impersonate users and reset passwords. All Formbricks instances running versions before 4.0.1 are affected.

💻 Affected Systems

Products:
  • Formbricks
Versions: All versions prior to 4.0.1
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Affects both email verification and password reset functionality using the vulnerable JWT validation routine.

⚠️ Manual Verification Required

This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.

Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).

🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete account takeover of any user, including administrators, leading to data theft, privilege escalation, and system compromise.

🟠

Likely Case

Unauthorized password resets and account takeovers of regular users, potentially exposing sensitive survey data and user information.

🟢

If Mitigated

Limited impact with proper network segmentation and monitoring, but authentication bypass remains possible.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires knowledge of victim's user ID but is technically simple once obtained.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 4.0.1

Vendor Advisory: https://github.com/formbricks/formbricks/security/advisories/GHSA-7229-q9pv-j6p4

Restart Required: Yes

Instructions:

1. Update Formbricks to version 4.0.1 or later. 2. Restart the Formbricks service. 3. Verify the patch is applied by checking the version.

🔧 Temporary Workarounds

Disable vulnerable endpoints

all

Temporarily disable email verification and password reset functionality until patched.

Implement WAF rules

all

Block requests containing JWT tokens with alg: 'none' header.

🧯 If You Can't Patch

  • Implement rate limiting on authentication endpoints to slow down brute force attempts
  • Enable detailed logging of all authentication attempts and monitor for suspicious patterns

🔍 How to Verify

Check if Vulnerable:

Check if Formbricks version is below 4.0.1. Review JWT validation code to ensure jwt.verify() is used instead of jwt.decode().

Check Version:

Check package.json or Formbricks admin interface for version information.

Verify Fix Applied:

Confirm version is 4.0.1 or higher. Test that forged JWT tokens with alg: 'none' are rejected.

📡 Detection & Monitoring

Log Indicators:

  • Multiple failed authentication attempts followed by successful login with unusual tokens
  • JWT tokens with alg: 'none' in authentication logs

Network Indicators:

  • Unusual spikes in authentication requests
  • Requests to password reset endpoints from unexpected sources

SIEM Query:

source="formbricks" AND (event="authentication" OR event="password_reset") AND token_alg="none"

🔗 References

📤 Share & Export