/

CVE-2026-111884

Severity:

HIGH RISK

(8.3)

Missing Reauthentication (CWE-308) in phpMyFAQ Users

CVE-2026-111884

Deferred

Vulnerability type

Category:

Missing Reauthentication

CWE:

CWE-308

Impact:

Account Takeover

Severity:

HIGH RISK

(8.3)

CVSS version:

3.1

Catch this CVE while code is being written

Detect vulnerable code directly in pull requests, so CVEs are fixed before merge.

Summary

phpMyFAQ may allow an authenticated session to change an account email address without requiring the current password. If an attacker obtains a valid session and can satisfy the CSRF requirement, they may redirect password-reset messages to an address they control and take over accounts that do not require two-factor authentication.

phpMyFAQ may allow an authenticated session to change an account email address without requiring the current password. If an attacker obtains a valid session and can satisfy the CSRF requirement, they may redirect password-reset messages to an address they control and take over accounts that do not require two-factor authentication.

Affected context

The issue occurs in the phpMyFAQ user control panel and the api/user/data/update endpoint when changing an account email address. It becomes risky where email changes rely on session and CSRF validation alone, without an additional verification step such as the current password or strong reauthentication. The resulting exposure can be especially significant for privileged or non-2FA accounts.

The issue occurs in the phpMyFAQ user control panel and the api/user/data/update endpoint when changing an account email address. It becomes risky where email changes rely on session and CSRF validation alone, without an additional verification step such as the current password or strong reauthentication. The resulting exposure can be especially significant for privileged or non-2FA accounts.

Exploit preconditions

  • Attack surface: User account-management functionality, including UserController::updateData and api/user/data/update
  • Required access: A hijacked or otherwise valid authenticated session for the target account
  • Trigger point: An email-address change followed by the password-reset workflow
  • Additional condition: The attacker must be able to submit a valid CSRF-protected request
  • Why exploitation is possible: The email-change operation does not require proof of the account's current password or equivalent reauthentication
  • Attack surface: User account-management functionality, including UserController::updateData and api/user/data/update
  • Required access: A hijacked or otherwise valid authenticated session for the target account
  • Trigger point: An email-address change followed by the password-reset workflow
  • Additional condition: The attacker must be able to submit a valid CSRF-protected request
  • Why exploitation is possible: The email-change operation does not require proof of the account's current password or equivalent reauthentication

Why this happens

The underlying flaw is a missing reauthentication check for a security-sensitive account change. Session validity and CSRF protection help establish request context and intent, but they do not prove that the current user is still the legitimate account holder when a session has been stolen. This behavior maps to CWE-308: Use of Single-factor Authentication, because a critical function is permitted without requiring an additional authentication factor or renewed proof of identity.

The underlying flaw is a missing reauthentication check for a security-sensitive account change. Session validity and CSRF protection help establish request context and intent, but they do not prove that the current user is still the legitimate account holder when a session has been stolen. This behavior maps to CWE-308: Use of Single-factor Authentication, because a critical function is permitted without requiring an additional authentication factor or renewed proof of identity.

Potential impact

  • An attacker may redirect password-reset messages to an email address they control.
  • A non-2FA account could be taken over through the password-reset process.
  • Administrative or superadmin accounts could be compromised if their sessions are hijacked.
  • Attackers may alter account data and use compromised privileges to affect help-desk content or application administration.
  • An attacker may redirect password-reset messages to an email address they control.
  • A non-2FA account could be taken over through the password-reset process.
  • Administrative or superadmin accounts could be compromised if their sessions are hijacked.
  • Attackers may alter account data and use compromised privileges to affect help-desk content or application administration.

General mitigation guidance

Mitigation generally focuses on requiring renewed authentication for high-impact account changes and reducing reliance on session possession alone.

Common defensive patterns include:

  • Require the current password or an equivalent strong reauthentication step before changing an email address.
  • Apply step-up authentication consistently to privileged and security-sensitive account operations.
  • Notify the previous and new email addresses about pending and completed changes.
  • Use a confirmation workflow that delays activation until ownership of the new address is verified.
  • Preserve effective CSRF protections while treating them as complementary to authentication, not a substitute for it.
  • Apply least privilege and mandatory multi-factor authentication to administrative accounts.

Mitigation generally focuses on requiring renewed authentication for high-impact account changes and reducing reliance on session possession alone.

Common defensive patterns include:

  • Require the current password or an equivalent strong reauthentication step before changing an email address.
  • Apply step-up authentication consistently to privileged and security-sensitive account operations.
  • Notify the previous and new email addresses about pending and completed changes.
  • Use a confirmation workflow that delays activation until ownership of the new address is verified.
  • Preserve effective CSRF protections while treating them as complementary to authentication, not a substitute for it.
  • Apply least privilege and mandatory multi-factor authentication to administrative accounts.

How teams detect issues like this

Detection approaches can include:

  • Static analysis and code review rules that identify sensitive account mutations gated only by session checks and CSRF validation.
  • Review of email-change, password-reset, credential-update, and privilege-management flows for reauthentication requirements.
  • Policy checks requiring step-up authentication for changes to recovery addresses or other account-recovery factors.
  • Integration tests that verify an email change is rejected when the current password or required reauthentication proof is absent.
  • Audit monitoring for rapid email changes followed by password resets, especially on privileged accounts.

Detection approaches can include:

  • Static analysis and code review rules that identify sensitive account mutations gated only by session checks and CSRF validation.
  • Review of email-change, password-reset, credential-update, and privilege-management flows for reauthentication requirements.
  • Policy checks requiring step-up authentication for changes to recovery addresses or other account-recovery factors.
  • Integration tests that verify an email change is rejected when the current password or required reauthentication proof is absent.
  • Audit monitoring for rapid email changes followed by password resets, especially on privileged accounts.

Sources

SourceLink
github.comgithub.com/thorsten/phpMyFAQ/security/advisories/GHSA-7554-gx6g-xx77
vulncheck.comvulncheck.com/advisories/phpmyfaq-before-4.1.9-and-4.2.0-alpha-before-4.2.0-beta-missing-current-password-step-up-on-e-mail-change-enables-account-takeover

Frequently asked

questions

It can be exploited through the application's account-management interface, but the attacker generally needs a hijacked or otherwise valid authenticated session and a valid CSRF-protected request.

No. The affected operation does not require the current password, which is the central security weakness. The attacker does, however, need access to an authenticated session.

Require strong reauthentication before changing an email address or another account-recovery factor, then verify ownership of the new address before applying the change.

Classify recovery and credential changes as high-risk actions, enforce step-up authentication through shared authorization controls, require MFA for privileged accounts, and test these workflows for session-only authorization.

It can be exploited through the application's account-management interface, but the attacker generally needs a hijacked or otherwise valid authenticated session and a valid CSRF-protected request.

No. The affected operation does not require the current password, which is the central security weakness. The attacker does, however, need access to an authenticated session.

Require strong reauthentication before changing an email address or another account-recovery factor, then verify ownership of the new address before applying the change.

Classify recovery and credential changes as high-risk actions, enforce step-up authentication through shared authorization controls, require MFA for privileged accounts, and test these workflows for session-only authorization.

Find out what's already
exploitable in your codebase.