Skip to main content
Vulnerability Database/CVE-2026-108851

CVE-2026-108851: phpMyFAQ Auth Bypass Vulnerability

CVE-2026-108851 is an authorization bypass flaw in phpMyFAQ that allows MCP clients to access restricted FAQs without proper permission checks. This post explains its impact, affected versions, and mitigation steps.

Published:

CVE-2026-108851 Overview

CVE-2026-108851 is a missing authorization vulnerability [CWE-862] in phpMyFAQ through version 4.1.10. The flaw resides in the Model Context Protocol (MCP) server's faq_search tool. The underlying Search::searchDatabase() method never applies user or group permission checks against FAQ records. MCP clients connected to the phpmyfaq:mcp:server can issue search queries that return the full question and answer text of active FAQs restricted to specific users or groups. The issue was published to the National Vulnerability Database (NVD) on 2026-10-11.

Critical Impact

Authenticated MCP clients can read restricted FAQ content, bypassing per-user and per-group access controls enforced elsewhere in phpMyFAQ.

Affected Products

  • phpMyFAQ versions through 4.1.10
  • phpMyFAQ MCP server component (phpmyfaq:mcp:server)
  • FaqSearchToolExecutor MCP tool handler

Discovery Timeline

  • 2026-10-11 - CVE-2026-108851 published to NVD
  • 2026-10-13 - Last updated in NVD database

Technical Details for CVE-2026-108851

Vulnerability Analysis

phpMyFAQ exposes an MCP server that lets AI clients query FAQ content through tools such as faq_search. The tool handler FaqSearchToolExecutor forwards client-supplied search terms into the core Search::searchDatabase() routine. That routine queries the FAQ database and returns matching records without evaluating the caller's user identity or group membership. Restricted FAQs intended for a specific user or group are therefore returned alongside public records whenever the search terms match. The disclosure is a confidentiality issue: an attacker gains read access to protected question and answer text, but no integrity or availability impact is reported.

Root Cause

The root cause is a missing authorization check [CWE-862] in the search path used by the MCP tool. The web application layer applies permission filtering when rendering FAQs to end users, but the shared Search::searchDatabase() function invoked by FaqSearchToolExecutor does not. Because the MCP tool skips the permission layer, the database returns every active FAQ that matches the query, regardless of the record's restricted_users or restricted_groups metadata.

Attack Vector

Exploitation requires an attacker to be an authenticated MCP client connected to phpmyfaq:mcp:server. The attack vector is local to the MCP channel and requires low privileges, with no user interaction. The attacker issues faq_search calls with keywords targeting sensitive content and receives the full text of restricted FAQs in the response. Refer to the VulnCheck Advisory on phpMyFAQ and the HackMD phpMyFAQ Visibility Discussion for additional context.

No verified proof-of-concept code is published. The vulnerable code paths are documented in the GitHub phpMyFAQ Search Code and the GitHub phpMyFAQ FaqSearchTool Code.

Detect Identity Attacks the Moment Authentication Fails

Singularity™ Identity surfaces credential misuse, lateral movement, and privilege escalation in real time, so you can contain the breach before it spreads.

Stop Identity Attacks

Detection Methods for CVE-2026-108851

Indicators of Compromise

  • MCP server session logs showing repeated faq_search tool invocations from a single client, especially with keywords targeting internal or confidential topics.
  • Access to restricted FAQ identifiers in MCP response traffic that do not appear in the client's web session history.
  • Unexpected MCP client connections to the phpmyfaq:mcp:server endpoint from accounts that do not normally use the MCP integration.

Detection Strategies

  • Audit phpMyFAQ MCP server logs and correlate faq_search queries with the requesting account's authorized FAQ categories and groups.
  • Compare the set of FAQ IDs returned to MCP clients against the per-user visibility set enforced by the web UI to find discrepancies.
  • Alert on MCP sessions that enumerate large numbers of distinct search terms in short time windows, a pattern consistent with content scraping.

Monitoring Recommendations

  • Enable verbose logging on the FaqSearchToolExecutor handler to capture inbound queries, requesting user ID, and returned record IDs.
  • Forward phpMyFAQ application and MCP server logs to a centralized SIEM for retention and correlation with identity events.
  • Review authentication events for the MCP server regularly and disable the integration for accounts that do not require it.

How to Mitigate CVE-2026-108851

Immediate Actions Required

  • Disable the phpMyFAQ MCP server (phpmyfaq:mcp:server) until a patched release is deployed if the integration is not business-critical.
  • Restrict network access to the MCP server endpoint so that only trusted internal clients can connect.
  • Review which accounts hold MCP client credentials and revoke access for users who should not read restricted FAQs.

Patch Information

At the time of the NVD entry, phpMyFAQ 4.1.10 and earlier remain affected. Monitor the GitHub phpMyFAQ Repository and the VulnCheck Advisory on phpMyFAQ for an upstream fix that adds permission enforcement inside Search::searchDatabase() or inside the FaqSearchToolExecutor wrapper.

Workarounds

  • Turn off the MCP server component in the phpMyFAQ configuration until a vendor patch is applied.
  • Remove or depopulate restricted FAQs from active status when the MCP server must stay enabled, since the tool only returns active records.
  • Apply a local code change that calls the existing permission filter on each record returned by Search::searchDatabase() before the result reaches the MCP response.

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.