Skip to main content

phpMyFAQ CVE-2026-76208

| EUVDEUVD-2026-62449 HIGH
Insufficient Logging (CWE-778)
2026-08-19 VulnCheck GHSA-x7f8-q53c-52pw
8.8
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Attacker retains valid LDAP credentials post-blocking
  2. Delivery
    Submit LDAP login request to phpMyFAQ portal
  3. Exploit
    Server performs successful LDAP directory bind
  4. Execution
    AuthLdap::create() calls setStatus('active') unconditionally
  5. Persist
    Blocked account_status overwritten in database
  6. Impact
    Attacker gains full application access with no audit log entry

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A09:2025 - Security Logging & Alerting Failures
ASVS 5.0
V16 - Security Logging and Error Handling Sufficient logging implementation
Exploitation Conditions

LDAP authentication must be explicitly enabled in phpMyFAQ's configuration - default installations using only local authentication are completely unaffected. The attacker must have a pre-existing local phpMyFAQ account that an administrator has set to 'blocked' status in the account_status database column. The attacker must additionally possess valid LDAP credentials for an identity that maps to the blocked local account; if the LDAP account itself has been disabled or the password changed, exploitation is prevented at the directory layer. Exploitation is limited to this specific intersection of conditions: known users who were explicitly blocked within phpMyFAQ but whose LDAP directory accounts remain active. Accounts blocked before LDAP was ever configured, or users who exist only in LDAP without a pre-existing local phpMyFAQ record, are not subject to this bypass.

Impact

The CVSS 4.0 base score of 8.8 (AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:H/VA:N) reflects network exploitability and high integrity impact, but the PR:N and AT:N assignments overstate real-world ease of exploitation - the vulnerability requires LDAP to be explicitly configured and the attacker to hold valid LDAP credentials, conditions not captured in those metrics. No public exploit code has been identified, the vulnerability is absent from CISA KEV, and EPSS data was not included in the provided intelligence, so a quantitative exploitation probability cannot be cited. The practical attacker population is narrow: only users who previously had a local phpMyFAQ account that was administratively blocked and who retain working LDAP credentials. Even a mid-sized municipal IT team in opole deploying phpMyFAQ with LDAP would be at risk primarily from insider threats or dismissed employees blocked in the application but not yet deprovisioned from the directory. The most consequential risk is that organizations relying on account blocking as a deprovisioning step - without also removing or disabling the LDAP account - find that control completely bypassed with no log evidence, elevating residual risk beyond what the raw CVSS score communicates.

Exploit ScenarioDerived

A dismissed employee's phpMyFAQ account has been set to 'blocked' by an administrator, but their Active Directory credentials remain active pending full offboarding. The former employee navigates to the phpMyFAQ login page, submits their LDAP credentials, and the AuthLdap::create() method completes a successful LDAP bind, then unconditionally calls User::setStatus('active'), clearing the block in the database. The former employee is logged in with full application access, and no log entry is generated, leaving the security team unaware of the re-entry.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.3% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Aug 19, 2026

LDAP authentication bypass in phpMyFAQ 3.1.0-4.1.6 allows a blocked local account to be silently reactivated by authenticating via LDAP, letting previously suspended users regain full application access. The AuthLdap::create() method calls User::setStatus('active') unconditionally after any successful LDAP bind, overwriting an administratively set 'blocked' status in the database without logging the state change. No public exploit code has been identified at time of analysis, and the vulnerability is not listed in CISA KEV; the vendor-confirmed fixed release is 4.1.7.

RemediationAI

Upgrade phpMyFAQ to version 4.1.7, the vendor-confirmed fixed release per GitHub security advisory GHSA-8pr3-q3cw-q234. If an immediate upgrade is not feasible, disable LDAP authentication entirely in phpMyFAQ's configuration until the patch is applied - this eliminates the vulnerable code path with no effect on local account management, though it forces all users to local authentication and may disrupt single-sign-on workflows. As a secondary compensating control, ensure that any user whose phpMyFAQ account is blocked is simultaneously deprovisioned from the LDAP or Active Directory directory, removing the credentials required to trigger the bypass; this changes the deprovisioning workflow and may conflict with broader directory lifecycle policies. Administrators should also audit the account_status column in the phpMyFAQ user table for accounts that have unexpectedly transitioned from 'blocked' to 'active', as historical overrides are detectable only through direct database inspection given the absence of application-level logging.

Affected VersionsENISA

phpMyFAQ patch: 0

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

phpMyFAQ is an open-source PHP FAQ management system (CPE: cpe:2.3:a:thorsten:phpmyfaq) that supports multiple authentication backends including local accounts and LDAP. The vulnerability resides in the AuthLdap::create() method, invoked whenever a user successfully authenticates through the LDAP backend. After a successful LDAP bind, the method calls User::setStatus('active') without first querying the current account_status value in the local database, silently overwriting a 'blocked' status set by an administrator. The vulnerability is assigned CWE-778 (Insufficient Logging) because no audit log entry is generated for the status transition, meaning administrators cannot detect the override through normal monitoring. The deeper root cause is a business logic error: the two authentication paths share the same user object but handle account state independently, creating an implicit authorization inconsistency where LDAP success unconditionally implies account activation.

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 8.8 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:H/VA:N/SC:N/SI:N/SA:N
vuln.today AI 5.9 MEDIUM

LDAP must be explicitly configured (AC:H) and attacker must hold LDAP credentials (PR:L); no availability impact applies.

3.1 AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:H/A:N
4.0 AV:N/AC:L/AT:P/PR:L/UI:N/VC:L/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
None
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
High
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

phpMyFAQ versions 3.1.0 through 4.1.6 contain an authentication bypass vulnerability in AuthLdap::create(). When LDAP authentication is enabled, after a successful LDAP bind the code calls User::setStatus('active') unconditionally, which overwrites the account_status column of a pre-existing local account from 'blocked' to 'active'. As a result, a user whose local phpMyFAQ account has been administratively blocked can restore their account and log in by authenticating via LDAP. The state transition is not logged, so administrators cannot detect that the block was overridden. Fixed in 4.1.7.

Executive ViewAI

Why It Matters

phpMyFAQ versions 3.1.0-4.1.6 with LDAP authentication contain a critical access control bypass allowing terminated or disciplined users to automatically reactivate their own accounts. No public exploit identified at time of analysis, but the vulnerability creates severe insider threat and compliance risk. This represents a direct undermining of access governance controls critical to employee lifecycle management and security compliance.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.3%
Top 83% exploitable
Prevalence
Low
niche open-source PHP FAQ platform, limited enterprise adoption
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.3%
Patch available No
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
Out-of-Cycle
Exploitation
Poc
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

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

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

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