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.
Zendesk is to acquire Forethought AI. It says that this will be its largest acquisition…
You may recognize Jonathan Djob Nkondo's work from animated projects like the surreal sci-fi series…
A new weekend has arrived, and today, you can save big on LEGO Star Wars,…
The Michigan synagogue that came under attack this week when an armed man drove his car into…
They look like your average open earbuds, but with optional RGB LED effects. | Photo…
200 Years Ago By virtue of a warrant from the selectmen of the town of…
This website uses cookies.