Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessHijack victim session and CSRF token
-
ExploitPOST repeated TOTP guesses to /api/user/remove-twofactor
-
ExecutionBrute-force succeeds (no lockout)
-
ImpactPermanently disable victim 2FA
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Brute-force prevention, rate limiting
|
| Exploitation Conditions | Exploitation requires the attacker to already possess a hijacked authenticated session for the target user AND a valid matching CSRF token; with those, they POST unlimited TOTP guesses to the /api/user/remove-twofactor endpoint because removeTwofactorConfig() enforces no brute-force lockout. Limiting factors: this is a chained/second-stage attack dependent on prior session compromise (so not truly unauthenticated despite the published PR:N), it only affects versions 4.2.0-alpha.2 up to 4.2.0-beta, it requires the 2FA-removal feature/endpoint to be reachable, and success still depends on brute-forcing the TOTP space. Impact is limited to disabling the victim's 2FA, not direct data compromise. |
| Impact | This is a moderate-severity authentication-weakness issue (CWE-307, missing rate-limiting) rather than a direct code-execution or data-exfiltration flaw. The vendor/VulnCheck CVSS 4.0 vector (AV:N/AC:L/PR:N/UI:P, VI:H only) scores 7.1, but the published vector materially conflicts with the description: it marks PR:N (unauthenticated), yet the description states exploitation requires 'a hijacked session and CSRF token' and targets 'authenticated attackers' - meaning the attacker must already have stolen a valid victim session plus a matching CSRF token before brute-forcing TOTP codes. That precondition is a substantial real-world limiter not reflected by AC:L/PR:N, so the practical risk is lower than the 7.1 suggests. There is no EPSS score, no CISA KEV listing, and no public exploit code in the provided data, so exploitation status is 'no public exploit identified at time of analysis.' Impact is confined to integrity of the account's security posture (permanently disabling the victim's 2FA), with no confidentiality or availability impact. Net: a legitimate hardening gap worth patching, but it is a second-stage/chained issue dependent on prior session compromise, not a standalone network-exploitable priority. |
| Exploit ScenarioDerived | An attacker who has already hijacked a logged-in phpMyFAQ user's session and obtained a valid CSRF token repeatedly POSTs TOTP guesses to /api/user/remove-twofactor. Because the removeTwofactorConfig() endpoint enforces no lockout or rate limit, the attacker can brute-force the 6-digit code until it matches and permanently disables the victim's 2FA, weakening the account for future takeover. No public proof-of-concept is identified in the provided data. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 17, 2026
Missing brute-force lockout in the phpMyFAQ /api/user/remove-twofactor endpoint allows an attacker who already holds a hijacked authenticated session and a matching CSRF token to submit unlimited TOTP guesses and permanently disable the victim's two-factor authentication. The flaw affects phpMyFAQ 4.2.0-alpha.2 through versions before 4.2.0-beta and is a second-stage, session-dependent attack rather than a directly exploitable remote compromise. No public exploit code or confirmed active exploitation was identified at time of analysis, and impact is limited to integrity of the victim's 2FA setting, with no confidentiality or availability impact per the assessed vector.
RemediationAI
Upgrade phpMyFAQ to 4.2.0-beta or later, the first release outside the affected range per the advisory (https://github.com/thorsten/phpMyFAQ/security/advisories/GHSA-7pjw-6v4g-f837). If immediate upgrade is not possible, add rate limiting and temporary lockout for POST requests to /api/user/remove-twofactor at the reverse proxy or WAF (for example, limit attempts per session and per IP and block after several failures); the trade-off is possible false positives for legitimate users, and the control is bypassable if attackers rotate sessions or source IPs, so it is compensating only. Because exploitation requires a hijacked session and CSRF token, revoke active sessions and rotate CSRF tokens after any suspected session compromise. As a stricter temporary measure, disable or block the 2FA-removal API path until patched, accepting that legitimate self-service 2FA removal will also be unavailable. Monitor access logs for repeated POSTs to the endpoint from a single session.
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 and knowledge-base application. The vulnerable code path is removeTwofactorConfig(), exposed through the /api/user/remove-twofactor API endpoint, which verifies a submitted TOTP code before removing a user's second factor. Because the endpoint enforces no rate limiting, lockout, or progressive delay, an attacker can repeatedly POST guesses against the TOTP verification logic. This is CWE-307 (Improper Restriction of Excessive Authentication Attempts), a missing-rate-limiting weakness in an authentication-adjacent function. The reported CPE cpe:2.3:a:thorsten:phpmyfaq:*:*:*:*:*:*:*:* corresponds to the 4.2.0-alpha.2-to-before-4.2.0-beta range. The published CVSS 4.0 vector lists PR:N, but the authoritative assessment correctly treats exploitation as chained: the attacker must first obtain a hijacked authenticated session plus a valid matching CSRF token, so the practical prerequisite is an authenticated session rather than unauthenticated network access. Success still depends on guessing the TOTP space, and the outcome is limited to disabling the victim's 2FA rather than direct data compromise.
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:N/UI:P/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
Requires a stolen session and valid CSRF token plus brute-force, so AC:H and UI:R; attacker holds no own privileges (PR:N); impact limited to permanently disabling victim 2FA (I:H, no C/A).
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
phpMyFAQ from 4.2.0-alpha.2 before 4.2.0-beta lacks brute-force lockout in the removeTwofactorConfig() 2FA removal endpoint, allowing authenticated attackers to guess TOTP codes without limit. Attackers holding a hijacked session and CSRF token can repeatedly POST guesses to /api/user/remove-twofactor to permanently disable the victim's 2FA.
Technical POC Analysis
Metadata caveat: the supplied advisory is GHSA-7pjw-6v4g-f837, rated Moderate 6.5, and lists no CVE.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
phpMyFAQ, an open-source knowledge-base/FAQ platform, carries a weakness in its two-factor authentication removal endpoint that lets someone who already holds a hijacked user session - plus a valid CSRF token - guess one-time codes without limit until 2FA is switched off for that account. Because exploitation first requires an existing session compromise, this is a defense-in-depth failure rather than a direct entry point, but it converts a contained session theft into durable, hard-to-detect account takeover for the affected user. Exposure is confined to organizations running pre-release 4.2.0 builds (alpha.2 through the versions preceding beta), so leadership should care mainly as a signal that pre-production code is in use and that session and MFA-management controls need hardening.
No vendor-released patch identified at time of analysis; interim mitigations are to block or rate-limit /api/user/remove-twofactor at the WAF or reverse proxy, require step-up re-authentication for any 2FA change, shorten session lifetimes and rotate session IDs, enforce CSRF token rotation with SameSite/HttpOnly cookies, alert on repeated TOTP failures or 2FA-removal attempts, restrict API access to trusted networks, and remove pre-release 4.2.0-alpha/beta builds from production until 4.2.0-beta or later is validated.
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.
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-103333
GHSA-9p2j-4h8p-3832
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB