Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSteal or hijack target user session
-
DeliveryFetch any authenticated page to obtain CSRF token
-
ExploitPOST /api/user/remove-twofactor with session and CSRF token
-
ExecutionTOTP silently disabled on target account
-
PersistAuthenticate with password only
-
ImpactFull account access achieved
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Multi-factor authentication
|
| Exploitation Conditions | Exploitation requires that the attacker holds a valid authenticated session for the target phpMyFAQ user account (PR:L) - this session can belong to any account, including a regular user who also has TOTP enabled. The attacker must also supply a valid CSRF token, which is obtainable by issuing any authenticated GET request within the same session. No special server configuration, non-default features, or elevated privileges beyond a valid session are required to invoke the vulnerable endpoints. Exploitation is limited by the prerequisite of session hijacking: an attacker without an active session for the target account cannot exploit this vulnerability directly. The flaw does not bypass login itself - it downgrades a post-login security control. After TOTP is stripped, subsequent authentication to that account requires only the account password, which an attacker may already possess (or can attempt to brute-force or phish independently of this vulnerability). |
| Impact | The CVSS 4.0 score of 7.1 (AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H) accurately characterises the core issue: network-reachable, low-complexity execution once a session is held, with high integrity impact (MFA posture is destroyed). The realistic threat model is a two-stage attack: first, the attacker must obtain a valid session cookie - through XSS, session fixation, network interception, or credential theft - and then exploit this flaw to permanently downgrade the account. That prerequisite (PR:L, controlled session) meaningfully constrains exposure; this is not a zero-authentication-required vulnerability. Even a mid-sized municipal IT team in gdynia running phpMyFAQ to publish public FAQs should treat this as urgent if any accounts use TOTP, since administrator compromise is explicitly in scope. No public exploit code and no KEV listing are known at time of analysis, which somewhat reduces the immediacy of opportunistic exploitation, but the simplicity of the HTTP call once a session is held means that any threat actor who reaches that first-stage hurdle faces trivial exploitation of this flaw. The absence of a CVSS Confidentiality impact reflects that the vulnerability itself does not leak data - but the downstream consequence of removing MFA (facilitating subsequent full account takeover) implies a chained integrity and confidentiality risk beyond the raw score. |
| Exploit ScenarioDerived | An attacker who has obtained a victim's session cookie - for example via a stored XSS vulnerability elsewhere in the application or through network-layer session interception - retrieves a valid CSRF token by fetching any authenticated phpMyFAQ page, then issues a single POST to /api/user/remove-twofactor. The server validates only session authenticity and CSRF token, disables TOTP for the account without challenge, and the attacker can subsequently authenticate using the known or brute-forced password alone. No public exploit code is known, but the HTTP call is trivially constructable from the advisory description. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 04, 2026
phpMyFAQ before 4.1.8 allows an authenticated attacker who has hijacked a user's session to silently strip two-factor authentication (TOTP) protection from any account, including administrator accounts, by calling either POST /api/user/remove-twofactor or PUT /api/user/data/update with only a valid session cookie and CSRF token - no password re-entry or current TOTP code is required. The root cause is CWE-308: the application guards a security-downgrade operation with single-factor controls (session identity plus CSRF) rather than requiring the second factor whose removal is being requested. After TOTP is disabled, the targeted account becomes accessible via password-only authentication, negating the deployment's MFA posture. No public exploit code or CISA KEV listing has been identified at time of analysis.
RemediationAI
Upgrade to phpMyFAQ 4.1.8 or later, which is the vendor-released patch addressing this flaw per GHSA-h96g-59xp-7r5m. If an immediate upgrade is not feasible, the most targeted workaround is to restrict access to POST /api/user/remove-twofactor and the PUT /api/user/data/update endpoint at the web server or WAF layer, allowing only requests from trusted management networks - note this will break legitimate TOTP self-service removal for users on untrusted networks. Operators should also audit active sessions for administrator and privileged accounts and invalidate any sessions of unknown or suspicious origin, since the exploit requires a live session. Monitoring for unexpected calls to the two-factor removal endpoints (particularly outside of user-initiated self-service flows) can serve as a detection compensating control until the patch is applied.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
phpMyFAQ is a PHP-based FAQ management system (CPE: cpe:2.3:a:thorsten:phpmyfaq:*:*:*:*:*:*:*:*) whose REST API exposes user-account management endpoints. The vulnerability is classified under CWE-308 (Use of Single-factor Authentication When Multi-factor Authentication is Required): the removeTwofactorConfig() handler and the inline twofactor_enabled field on the data-update endpoint both treat a valid HTTP session plus a CSRF token as sufficient proof-of-identity to deactivate TOTP. Standard security practice for MFA-downgrade operations requires re-presentation of the current second factor (or at minimum, the account password) precisely because session tokens can be stolen or forged. The CSRF protection prevents cross-site request forgery but does not prevent an attacker who already controls the session from issuing the request directly. Two separate API paths expose the same logic flaw, suggesting the guard is missing at the business-logic layer rather than in any single endpoint.
Know when Phpmyfaq gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
Network-reachable API endpoint, low complexity once session held (PR:L); integrity-only impact as TOTP removal is a security-control downgrade with no confidentiality or availability effect.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
phpMyFAQ before 4.1.8 contains an authentication bypass vulnerability in its two-factor authentication (TOTP) disable functionality. The removeTwofactorConfig() handler (reachable via POST /api/user/remove-twofactor) verifies only that the user is logged in and that a valid CSRF token is supplied, then disables TOTP without requiring password re-entry or a current TOTP code. The same downgrade is also reachable inline via PUT /api/user/data/update, which accepts a plain twofactor_enabled form field under the same session+CSRF-only guard. An attacker who has hijacked a user's session can silently strip two-factor protection from any account, including administrator accounts, after which password-only authentication succeeds.
Technical POC Analysis
CWE-308: Use of Single-factor Authentication.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
phpMyFAQ versions before 4.1.8 allow authenticated attackers who have compromised a user's session to silently disable multi-factor authentication on any account, including administrators. Once MFA is stripped, attackers gain unrestricted password-only access to the database management system, completely bypassing your organization's MFA deployment and enabling persistent unauthorized database access.
Require re-authentication with current TOTP code before any MFA removal is permitted; implement network access controls limiting phpMyFAQ API endpoints to trusted IP ranges only; enforce session expiration (1-hour timeout) and monitor for abnormal access patterns; disable the affected API endpoints at the application firewall if not operationally required; implement comprehensive audit logging of all authentication state changes.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Cross-Site Request Forgery exploits the automatic credential inclusion behavior of web browsers.
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Duplicate-email registration handling in phpMyFAQ 4.0.7 through 4.0.13 (and 4.0-nightly-2025-10-03 and earlier) lets una
Insufficient Session Expiration in GitHub repository thorsten/phpmyfaq prior to 3.2.2. Rated critical severity (CVSS 9.8
Authentication Bypass by Capture-replay in GitHub repository thorsten/phpmyfaq prior to 3.1.12. Rated critical severity
Weak Password Requirements in GitHub repository thorsten/phpmyfaq prior to 3.1.12. Rated critical severity (CVSS 9.8), t
Weak Password Requirements in GitHub repository thorsten/phpmyfaq prior to 3.1.8. Rated critical severity (CVSS 9.8), th
Unauthenticated SQL injection in phpMyFAQ before 4.1.2 allows remote attackers to extract credentials, admin tokens, and
In phpMyFAQ before 2.9.9, there is Cross-Site Request Forgery (CSRF) in admin/stat.ratings.php. Rated high severity (CVS
In phpMyFaq before 2.9.9, there is CSRF in admin/ajax.config.php. Rated high severity (CVSS 8.8), this vulnerability is
In phpMyFAQ before 2.9.9, there is Cross-Site Request Forgery (CSRF) for modifying a glossary. Rated high severity (CVSS
In phpMyFAQ before 2.9.9, there is Cross-Site Request Forgery (CSRF) in admin/stat.main.php. Rated high severity (CVSS 8
phpMyFAQ is an open source FAQ web application for PHP 8.1+ and MySQL, PostgreSQL and other databases. Rated high severi
phpMyFAQ is an open source FAQ web application for PHP 8.1+ and MySQL, PostgreSQL and other databases. Rated high severi
EUVD-2026-71013
GHSA-x283-48fh-hc5w
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB