A critical vulnerability in the open source Formbricks experience management toolbox allows attackers to reset any user’s password without authorization.
Published three days ago as advisory GHSA-7229-q9pv-j6p4 by maintainer mattinannt, the flaw stems from missing JWT signature verification in Formbricks versions before 4.0.1.
If an attacker learns a valid user’s internal identifier, they can forge a token and force a password reset, posing a severe risk to confidentiality and integrity.
Formbricks uses JSON Web Tokens (JWTs) to validate password reset and email verification requests. However, the token validation routine decodes the JWT payload without verifying its signature, expiration, issuer, or audience.
| CVE ID | Description | Affected Versions | Severity | CVSS v3.1 Base Score |
| CVE-2025-59934 | Missing verification of JWT signature in password reset routine. | < 4.0.1 | Critical | 9.8 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:L) |
Specifically, the verifyToken function in apps/web/lib/jwt.ts relies on jwt.decode instead of jwt.verify.
This oversight enables attackers to craft tokens with an alg: “none” header and arbitrary payloads containing any user’s ID.
Proof of Concept
Because Formbricks does not validate token authenticity, possessing only the user ID suffices to hijack any account.
This flaw impacts password reset and email verification flows, granting attackers network-level access to modify user credentials.
No special privileges or user interaction are required. The vulnerability’s metrics are as follows:
The vulnerability arises because the verifyToken function uses jwt.decode(token) to extract the user ID without checking the token signature or expiry.
Both the email verification and password reset actions share this unsafe validator. This design fails to prove a token’s authenticity, allowing malicious actors to bypass authentication controls entirely.
Formbricks maintainers have released version 4.0.1 to address the issue. The fix replaces jwt.decode with jwt.verify, enforcing signature, expiration, issuer, and audience checks. Users should upgrade immediately:
npm install formbricks@^4.0.1 Developers integrating Formbricks into web applications must ensure all JWT-based actions use jwt.verify with appropriate secret keys and validation options.
This critical flaw highlights the importance of comprehensive JWT validation. Until systems enforce full signature and claim checks, attackers can exploit even seemingly minor oversights to breach user accounts.
All Formbricks users should upgrade to 4.0.1 without delay to restore proper authentication safeguards.
Follow us on Google News, LinkedIn, and X to Get Instant Updates and Set GBH as a Preferred Source in Google.
Attackers abused compromised ConnectWise Cloud Backup credentials to access Microsoft 365 customer environments, prompting ConnectWise…
Anthropic says an internal Claude research model reconstructed how the National Security Agency generated seeds…
Two WordPress Core vulnerabilities can be chained to execute remote code without authentication, according to…
A newly disclosed OpenBSD kernel exploitation chain combines a shared memory accounting flaw with a…
GhostAction attackers have expanded their GitHub credential theft campaign with a second stage that disguises…
Indian authorities have warned that SideCopy hackers are targeting Indian organizations, including academic institutions, with…