The flaw lies in its JSON Web Token (JWT) handling, where tokens are decoded without any signature or expiration checks, allowing attackers to craft arbitrary tokens and hijack user accounts.
Formbricks relies on JWTs for several authentication flows, including email verification and password resets.
The root cause of this weakness is the use of a simple decode operation (jwt.decode) instead of a full verification (jwt.verify).
As a result, the platform does not validate the token’s signature, expiration time, issuer, or intended audience.
This oversight permits an attacker, once in possession of a valid user identifier, to generate a token with a alg: "none" header, bypass all cryptographic checks, and hijack the account.
The core of the issue resides in a shared token validation routine used by both the email confirmation endpoint and the password-reset handler.
Upon receiving a token, the server decodes it to extract the payload, then directly uses the contained user ID to perform database operations.
No subsequent checks ensure that the token was legitimately issued or is still valid.
Consequently, an attacker can:
alg: "none" and embed the victim’s ID in the payload.A simple proof-of-concept demonstrates the attack in three steps.
First, the attacker needs the victim’s user ID, which may be exposed through other application endpoints or predictable patterns.
Next, the attacker constructs a JWT with no signature requirement and sets the payload ID to the victim’s identifier.
Lastly, the attacker accesses the password reset link, including the crafted token, and submits a new password.
The server, trusting the decoded payload, locates the user and replaces the existing password with the attacker’s choice—all without any authorization checks.
This flaw poses a severe risk to all Formbricks deployments that have not patched the vulnerability.
An attacker can not only reset passwords but potentially intercept or control other account-based features, leading to data theft, manipulation of analytics records, or further lateral movement within the application environment.
Since both email confirmation and password resets share the same validation logic, the attack surface is wide and easily exploitable.
To remediate this issue, developers must replace all jwt.decode calls with proper jwt.verify that checks signature integrity, token expiration, issuer, and audience fields.
Additionally, rotating the signing key and invalidating existing tokens will limit the window for exploitation.
Implementing rate limiting and monitoring unusual password reset requests can further detect and mitigate abusive activity.
The Formbricks signature verification vulnerability underscores the importance of rigorous token validation.
Find this Story Interesting! Follow us on Google News, LinkedIn, and X to Get More Instant Updates
The post Formbricks Signature Verification Flaw Enables Unauthorized Password Resets appeared first on Cyber Security News.
It’s May 4 — a date that happens to sound similar to “May the Force,”…
The Mandalorian & Grogu is coming to theaters on May 22, but before then you…
If you frequently bring several electronics along with you on your travels but you don't…
Disney+ is offering subscribers a free Marvel Rivals skin through its Disney+ Perks program. The…
There has been a ton of buzz around Dishonored's future, following a rather innocuous post…
Capcom wants players to know that old age won't keep Leon Kennedy out of games…
This website uses cookies.