Skip to main content

phpMyFAQ EUVDEUVD-2026-103333

| CVE-2026-111886 HIGH
Improper Restriction of Excessive Authentication Attempts (CWE-307)
2026-10-17 VulnCheck GHSA-9p2j-4h8p-3832
7.1
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Hijack victim session and CSRF token
  2. Exploit
    POST repeated TOTP guesses to /api/user/remove-twofactor
  3. Execution
    Brute-force succeeds (no lockout)
  4. Impact
    Permanently 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.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

phpMyFAQ 4.2.0-alpha.2 <4.2.0-beta

Affected Packages

euvd phpmyfaq fix: 4.2.0-beta

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

Vendor (VulnCheck) PRIMARY 7.1 HIGH
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
vuln.today AI 5.3 MEDIUM

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).

3.1 AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:H/A:N
4.0 AV:N/AC:H/AT:N/PR:N/UI:P/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
Passive
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
High
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Oct 17, 2026 - 20:16 EUVD
CVE Published
Oct 17, 2026 - 18:46 cve.org
HIGH 7.1

DescriptionCVE.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

Why It Matters

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.

Business Impact: Medium
Compensating Controls

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

EPSS Score
0.2%
Top 88% exploitable
Prevalence
Low
niche open-source FAQ web application, limited enterprise footprint
Data Quality
6 sources
Confidence: High

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
Medium
Technical Impact
Partial

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Request Forgery exploits the automatic credential inclusion behavior of web browsers.

CVE-2025-59943 CRITICAL POC
9.8 Oct 03

Duplicate-email registration handling in phpMyFAQ 4.0.7 through 4.0.13 (and 4.0-nightly-2025-10-03 and earlier) lets una

CVE-2023-5865 CRITICAL POC
9.8 Oct 31

Insufficient Session Expiration in GitHub repository thorsten/phpmyfaq prior to 3.2.2. Rated critical severity (CVSS 9.8

CVE-2023-1886 CRITICAL POC
9.8 Apr 05

Authentication Bypass by Capture-replay in GitHub repository thorsten/phpmyfaq prior to 3.1.12. Rated critical severity

CVE-2023-1753 CRITICAL POC
9.8 Mar 31

Weak Password Requirements in GitHub repository thorsten/phpmyfaq prior to 3.1.12. Rated critical severity (CVSS 9.8), t

CVE-2022-3754 CRITICAL POC
9.8 Oct 29

Weak Password Requirements in GitHub repository thorsten/phpmyfaq prior to 3.1.8. Rated critical severity (CVSS 9.8), th

CVE-2026-46364 CRITICAL POC
9.3 May 15

Unauthenticated SQL injection in phpMyFAQ before 4.1.2 allows remote attackers to extract credentials, admin tokens, and

CVE-2017-15730 HIGH POC
8.8 Oct 22

In phpMyFAQ before 2.9.9, there is Cross-Site Request Forgery (CSRF) in admin/stat.ratings.php. Rated high severity (CVS

CVE-2017-15808 HIGH POC
8.8 Oct 23

In phpMyFaq before 2.9.9, there is CSRF in admin/ajax.config.php. Rated high severity (CVSS 8.8), this vulnerability is

CVE-2017-15735 HIGH POC
8.8 Oct 22

In phpMyFAQ before 2.9.9, there is Cross-Site Request Forgery (CSRF) for modifying a glossary. Rated high severity (CVSS

CVE-2017-15734 HIGH POC
8.8 Oct 22

In phpMyFAQ before 2.9.9, there is Cross-Site Request Forgery (CSRF) in admin/stat.main.php. Rated high severity (CVSS 8

CVE-2024-28107 HIGH POC
8.8 Mar 25

phpMyFAQ is an open source FAQ web application for PHP 8.1+ and MySQL, PostgreSQL and other databases. Rated high severi

CVE-2024-27299 HIGH POC
8.8 Mar 25

phpMyFAQ is an open source FAQ web application for PHP 8.1+ and MySQL, PostgreSQL and other databases. Rated high severi

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy