CVE-2026-100712: froxlor before 2.3.12 Two-Factor Authentication Bypass via CSRF
froxlor through 2.3.10 disables a user's two-factor authentication immediately upon an unauthenticated-triggerable GET request to the 2FA management page (e.g. /customerindex.php?page=2fa&action=delete), with no confirmation, re-authentication, or CSRF token. The global CSRF middleware only covers POST/PUT/PATCH/DELETE requests, and the session cookie is set to SameSite=Lax, so a cross-site top-level navigation (link click or redirect) carries the victim's session and silently clears type2fa/data2fa. Both the customer and admin 2FA handlers are affected. An attacker who lures a logged-in panel user into following a crafted link reduces that account to password-only authentication, which can be chained with a compromised password for account takeover. Fixed in 2.3.12.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
froxlorto a version that resolves this vulnerability.Fixed in 2.3.12
Event History
Frequently Asked Questions
Which users are exposed to this issue?
Logged-in Froxlor panel users are exposed, including both customer and administrator accounts. The affected behavior applies through version 2.3.10; version 2.3.12 is identified as the fix.
What does an attacker need to exploit it?
The attacker does not need authentication or prior privileges, but must cause a logged-in panel user to follow a crafted cross-site link or redirect to the 2FA deletion endpoint. The victim's session cookie is sent on a top-level cross-site navigation because it uses SameSite=Lax.
What is the impact after successful exploitation?
The request silently clears the user's two-factor authentication settings, leaving the account protected only by its password. This can be chained with a compromised password to take over the affected account.
How can I tell whether an instance is affected?
Instances running Froxlor through 2.3.10 are affected according to the available information. The vulnerable behavior is a GET request to the 2FA management deletion action, such as /customer_index.php?page=2fa&action=delete, disabling 2FA without confirmation, re-authentication, or a CSRF token.