Description
phpMyFAQ before 4.1.7 (affected versions <= 4.1.5) fails to persist the WebAuthn login challenge generated by prepareForLogin, because neither WebAuthn controller saves the mutated key objects back to the database. At login the anti-replay comparison is skipped by its own null guard, allowing an attacker who captures a successful WebAuthn assertion to replay it indefinitely and authenticate as the user without any interaction or hardware key.
Published: 2026-08-19
Score: 9.1 Critical
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Based on the description, it is inferred that the WebAuthn login challenge generated by prepareForLogin is not stored, so the subsequent verification step does not detect a null challenge. This flaw allows an attacker who captures a successful WebAuthn assertion to replay it indefinitely, thereby authenticating as the user without any interaction or hardware key. The vulnerability effectively bypasses two‑factor authentication, resulting in unauthorized credential use.

Affected Systems

As stated, the affected product is phpMyFAQ, versions up to and including 4.1.5. Any instance running these releases is at risk, regardless of hosting environment.

Risk and Exploitability

Based on the description, it is inferred that the likely attack vector involves intercepting a successful WebAuthn assertion, which can be captured over an insecure connection or through session hijacking. The CVSS base score of 9.1 indicates a critical vulnerability with a high impact. The EPSS score is not available, so no current exploitation probability estimate has been published. Because the flaw permits a replay of a WebAuthn assertion, an attacker only needs to intercept the traffic or gain a session, which is feasible over an insecure connection. The vulnerability is not listed in CISA’s KEV catalog, but the absence does not mitigate the inherent risk. Attackers who intercept a successful authentication can replay the assertion indefinitely to gain access.

Generated by OpenCVE AI on August 19, 2026 at 20:03 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade phpMyFAQ to version 4.1.7 or later, which persists the WebAuthn challenge correctly.
  • If an upgrade is not immediately possible, disable WebAuthn authentication for all accounts until a patch is applied.
  • Audit existing user sessions and monitor for unusual authentication activity that could indicate replay attempts.

Generated by OpenCVE AI on August 19, 2026 at 20:03 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 19 Aug 2026 14:15:00 +0000

Type Values Removed Values Added
Description phpMyFAQ before 4.1.7 (affected versions <= 4.1.5) fails to persist the WebAuthn login challenge generated by prepareForLogin, because neither WebAuthn controller saves the mutated key objects back to the database. At login the anti-replay comparison is skipped by its own null guard, allowing an attacker who captures a successful WebAuthn assertion to replay it indefinitely and authenticate as the user without any interaction or hardware key.
Title phpMyFAQ before 4.1.7 WebAuthn Replay Attack via Challenge
First Time appeared Phpmyfaq
Phpmyfaq phpmyfaq
Weaknesses CWE-294
CPEs cpe:2.3:a:phpmyfaq:phpmyfaq:*:*:*:*:*:*:*:*
Vendors & Products Phpmyfaq
Phpmyfaq phpmyfaq
References
Metrics cvssV3_1

{'score': 7.4, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N'}

cvssV4_0

{'score': 9.1, 'vector': 'CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N'}


Subscriptions

Phpmyfaq Phpmyfaq
cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-08-19T14:01:59.917Z

Reserved: 2026-08-19T11:34:28.577Z

Link: CVE-2026-76214

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-19T14:17:47.473

Modified: 2026-08-19T14:17:47.473

Link: CVE-2026-76214

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-19T21:00:04Z

Weaknesses
  • CWE-294

    Authentication Bypass by Capture-replay