Description
phpMyFAQ before 4.1.7 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: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The flaw in phpMyFAQ occurs because the WebAuthn login challenge produced by prepareForLogin is never stored in the database. When a user submits a WebAuthn assertion, the server’s anti‑replay check is bypassed by a null guard; as a result, an attacker who captures a successful assertion can replay it repeatedly and be authenticated without any interaction with the hardware key. This vulnerability is a classic case of improper authentication (CWE‑294) that allows attackers to gain unauthorized access to user accounts.

Affected Systems

The affected product is thorsten’s phpMyFAQ, versions up to (and including) 4.1.5. Instances running any version of phpMyFAQ older than 4.1.7, regardless of deployment environment, are vulnerable.

Risk and Exploitability

An attacker who intercepts a signed WebAuthn assertion can replay it forever, leveraging the null guard to defeat the replay protection and bypass authentication. The CVSS score of 9.1 indicates a critical severity, while the EPSS score of < 1% suggests that active exploitation of the flaw is currently unlikely. The vulnerability is not listed in the CISA KEV catalog, but the potential for broad impact is high if an attacker can acquire a valid assertion.

Generated by OpenCVE AI on August 21, 2026 at 12:58 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade phpMyFAQ to 4.1.7 or later, which correctly persists the WebAuthn challenge and restores the intended replay protection; this patch addresses the CWE‑294 flaw.
  • If an immediate upgrade is not possible, temporarily disable WebAuthn authentication for all users to eliminate the replay path; this workaround mitigates the authentication bypass until the patch is applied.
  • Audit session logs for repeated successful WebAuthn logins from the same device or IP and enforce strict session timeouts or additional second‑factor checks to detect and deter replay attempts.

Generated by OpenCVE AI on August 21, 2026 at 12:58 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 21 Aug 2026 12:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Fri, 21 Aug 2026 11:30: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. phpMyFAQ before 4.1.7 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.

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-21T11:21:06.337Z

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

Link: CVE-2026-76214

cve-icon Vulnrichment

Updated: 2026-08-20T13:41:41.196Z

cve-icon NVD

Status : Analyzed

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

Modified: 2026-09-01T15:20:12.240

Link: CVE-2026-76214

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-21T13:15:05Z

Weaknesses
  • CWE-294

    Authentication Bypass by Capture-replay