Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain controlled identity in configured Entra tenant
-
DeliverySet preferred_username to match target local account
-
ExploitAuthenticate via Entra ID SSO flow
-
ExecutionDuplicate-login exception ignored, bound to existing account
-
PersistSession established as victim super-admin
-
ImpactFull administrative account takeover
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Authentication mechanism validation
MITRE ATT&CK
2 techniques across 2 tactics: Defense Evasion, Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires that the phpMyFAQ instance has Microsoft Entra ID (Azure AD) login configured and enabled, and that the attacker controls or can create an identity within that same configured tenant whose mutable preferred_username claim exactly matches an existing local phpMyFAQ account (e.g., a super-admin username). The flaw is in AuthEntraId::create() ignoring the duplicate-login exception and continuing with the pre-existing local account. Limiting factors: instances without Entra ID SSO are not affected; the attacker must already possess valid tenant access (PR:L) and achieve a username match, and the CVSS AC:H/AT:P reflect this non-trivial precondition. Only versions 3.2.0-<4.0.0 and 4.0.2-<4.2.0-beta are vulnerable. |
| Impact | This is a real but conditional priority rather than a drop-everything emergency. The input CVSS 4.0 vector (AV:N/AC:H/AT:P/PR:L/UI:N/VC:H/VI:H/VA:N) scores 7.6 (High) and is internally consistent with the description: network-reachable, but with high attack complexity (AC:H) and a present attack requirement (AT:P) because the attacker must already hold a valid identity in the configured Entra tenant and that identity's preferred_username must match a target local account - hence PR:L (the attacker is an authenticated tenant user), not PR:N. Impact is severe where exploitable: VC:H/VI:H reflect full takeover of a local account up to super-admin, with no direct availability impact (VA:N) and no scope change to other systems (SC/SI/SA:N). Weighed against exploitation signals, the picture is far less alarming: there is no CISA KEV listing and no EPSS score supplied, and no public proof-of-concept is referenced, so this is 'no public exploit identified at time of analysis.' Discovery and reporting are credited to VulnCheck via a coordinated GitHub Security Advisory, indicating responsible disclosure rather than observed in-the-wild abuse. Net: a credible privilege-escalation/account-takeover flaw that matters greatly to the subset of phpMyFAQ operators using Entra ID SSO, but the preconditions (tenant access plus username match) and absence of exploitation evidence keep real-world urgency moderate. No major signal conflict exists; the main caveat is that EPSS/KEV data were simply not provided rather than confirmed absent. |
| Exploit ScenarioDerived | An attacker who can provision or control a user in the organization's configured Microsoft Entra ID tenant sets or obtains a preferred_username value that matches an existing phpMyFAQ local account - for example a super-admin's username. They log in through the Entra ID SSO flow; because phpMyFAQ links accounts by the mutable preferred_username claim and AuthEntraId::create() swallows the duplicate-login exception while proceeding with the existing local account, the attacker is authenticated as that victim account. No public exploit code is referenced, so exploitation would require manual crafting of the tenant identity. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 17, 2026
Account takeover in phpMyFAQ (3.2.0 to before 4.0.0, and 4.0.2 to before 4.2.0-beta) lets an authenticated attacker who controls an identity in the configured Microsoft Entra ID tenant hijack an existing local account, including super-admin, by presenting a preferred_username that exactly matches that account. The flaw exists because the Entra ID login handler links users by the mutable preferred_username claim and AuthEntraId::create() ignores the duplicate-login exception, continuing with the pre-existing local account instead of failing closed. Exploitation is conditional - the instance must have Entra ID SSO enabled and the attacker must already possess valid tenant access (PR:L) plus an exact username match - and no public exploit code has been identified at time of analysis.
RemediationAI
Upgrade phpMyFAQ to 4.0.0 or later for installations in the 3.2.0 to before-4.0.0 range, or to 4.2.0-beta or later for the 4.0.2 to before-4.2.0-beta range, following vendor advisory GHSA-6hhv-gc4g-f4r7. If upgrading immediately is not possible, disable Microsoft Entra ID SSO in phpMyFAQ's authentication configuration; this removes the attack path but forces users onto local-password or another identity provider. Where Entra ID SSO must stay enabled, restrict tenant access so only trusted administrators can create or modify identities, ensure no Entra preferred_username value duplicates a privileged local phpMyFAQ username, audit Entra-linked accounts for unexpected mappings, and consider removing or renaming super-admin local accounts that could be targeted. Because the supplied CPE is not version-specific, verify the installed release against the affected ranges and monitor the vendor and VulnCheck advisories for updated fixed versions.
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 supports Microsoft Entra ID (Azure AD) as an external identity provider for single sign-on. The vulnerable flow maps the Entra ID preferred_username claim to a local phpMyFAQ account, but preferred_username is mutable and is not a stable object identifier such as oid or sub. An identity in the configured tenant can therefore be made to carry a value equal to an existing local login name. In AuthEntraId::create(), the duplicate-login exception raised when a local account already exists is swallowed, and authentication proceeds as that pre-existing account rather than aborting. This is CWE-287 (Improper Authentication): the application treats an unverified, mutable attribute as a trustworthy account-linking key. Only instances with Entra ID login configured and enabled are exposed; the supplied CPE cpe:2.3:a:thorsten:phpmyfaq is version-agnostic, so the stated version ranges must be applied when assessing exposure.
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:H/AT:P/PR:L/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
Attacker needs a valid tenant identity (PR:L) and a preferred_username match plus SSO config (AC:H); success yields full account/super-admin takeover (C:H/I:H) with no availability impact (A:N).
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
phpMyFAQ 3.2.0 before 4.0.0 and 4.0.2 before 4.2.0-beta contains an authentication bypass in its Microsoft Entra ID login flow, which links users by the mutable preferred_username claim and whose AuthEntraId::create() ignores the duplicate-login exception while continuing with the existing local account. Attackers controlling an Entra identity in the configured tenant with a matching preferred_username can take over that local account, including super-admin accounts.
Technical POC Analysis
CWE-287 (Improper Authentication), with the advisory also classifying CWE-290 (spoofing) and CWE-863 (incorrect authorization).
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
phpMyFAQ instances that rely on Microsoft Entra ID single sign-on are exposed to account takeover, including escalation to super-administrator privileges, because the login handler trusts a user-controlled, mutable username claim rather than a stable identifier. The exposure is limited to organizations that have both enabled Entra ID SSO and granted the attacker a valid identity within their own tenant, so the realistic threat is an insider, a compromised tenant account, or a guest account rather than an anonymous internet actor. Leadership should care because a successful takeover gives an attacker full administrative control of the FAQ platform and any content or integrations it touches, and no vendor fix is currently available.
No vendor patch is available. Interim mitigations: disable the Microsoft Entra ID SSO handler where feasible; restrict tenant membership and guest access to tightly vetted identities; audit for local accounts whose names match tenant preferred_username values, especially super-admins; monitor authentication logs for duplicate-login exceptions and unexpected mappings to existing local accounts; enforce MFA on the Entra ID tenant and on phpMyFAQ administrative logins; and place an identity-aware proxy or custom claim-mapping check in front of the SSO flow that rejects logins where preferred_username resolves to an already-provisioned local account.
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
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-103324
GHSA-r5w3-grm8-fh38
NVD
CVE.org
EPSS
VulDB
Exploit-DB