Read the docs

Brute-force 2FA removal in phpMyFAQ lets attackers disable two-factor auth

Priority MEDIUM 64CWE-307Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
Passive
Attack complexity
Low
Attack requirements
None
Impact type
Security bypass
Confidentiality · integrity · availability
None · High · None
Fix status
Fixed

Attack profile from CVSS 4.0 · CNA. Fix status from CNA. Impact type from CWE-307.

Summary

phpMyFAQ from 4.2.0-alpha.2 before 4.2.0-beta lacks brute-force lockout in the removeTwofactorConfig() 2FA removal endpoint, so attackers can guess TOTP codes without limit. An attacker who holds a hijacked session and CSRF token can repeatedly post guesses to /api/user/remove-twofactor to permanently disable the victim's 2FA. The flaw is classified as CWE-307, and the CVSS 4.0 vector requires user interaction with no privileges.

Written with Claude Haiku 5.5 from the sources below · 2026-10-28

Description from the CNA

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.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00273 19th percentileScored 2026-11-07
Fix Fixed phpMyFAQ (thorsten): 4.2.0-beta

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
thorstenphpMyFAQ4.2.0-alpha.2 to before 4.2.0-beta4.2.0-betaPatch availableCNA
  • phpMyFAQ Vendorthorsten Affected 4.2.0-alpha.2 to before 4.2.0-beta Fixed in 4.2.0-beta Patch available CNA

CPE names Threatist (inferred) · 1

Inferred from how NVD named this product before; not given by a source.

CPEVersionsRoleVendor
cpe:2.3:a:phpmyfaq:phpmyfaq:*:*:*:*:*:*:*:*——thorsten
  • cpe:2.3:a:phpmyfaq:phpmyfaq:*:*:*:*:*:*:*:* Versions — — ·thorsten

Remediation

Upgrade phpMyFAQ to version 4.2.0-beta or later, which fixes the issue in the affected range from 4.2.0-alpha.2 before 4.2.0-beta.

Written with Claude Haiku 5.5 from the sources below · 2026-10-28

  • Fix · CNA phpMyFAQ (thorsten) Fixed in 4.2.0-beta

Fixed in the same release

Records fixed by the same vendor advisory or release, as the CNA lists them.

  • Release ·

    thorsten phpMyFAQ 4.2.0-beta

    24 records Highest priority Priority HIGH 10 HIGH, 10 MEDIUM, 4 LOW

    Other records, highest priority first

    • TI-2026-76108 Unauthenticated denial of service in phpMyFAQ API paginationPriority HIGH 77
    • TI-2026-76115 Authorization bypass in phpMyFAQ REST API edits restricted FAQsPriority HIGH 73
    • TI-2026-76092 phpMyFAQ e-mail change lacks password check, enabling takeoverPriority HIGH 73

Timeline

  1. 2026-10-18 Threatist record created from CVE-2026-111886
  2. 2026-10-18 Alias added: GHSA-9p2j-4h8p-3832

References

  • TI-2023-00296 Improper Authentication in thorsten/phpmyfaq CVSS 3.1CRITICAL 9.8
  • TI-2026-76118 Authentication bypass in phpMyFAQ via WebAuthn credential injection CVSS 4.0CRITICAL 9.3
  • TI-2026-32868 phpMyFAQ - Unauthenticated Two-Factor Authentication Brute-Force via /admin/check Endpoint CVSS 4.0CRITICAL 9.3
  • TI-2026-76108 Unauthenticated denial of service in phpMyFAQ API pagination CVSS 4.0HIGH 8.7
  • TI-2026-53313 phpMyFAQ 3.1.0 through 4.1.6 Authentication Bypass via LDAP CVSS 4.0HIGH 8.8
  • TI-2026-34083 phpMyFAQ - Unauthenticated Information Disclosure via getIdFromSolutionId Permission Bypass CVSS 4.0HIGH 8.7
See all 224 →

Sources