Skip to main content

phpMyFAQ EUVDEUVD-2026-86010

| CVE-2026-56736 HIGH
Cross-site Scripting (XSS) (CWE-79)
2026-09-24 GitHub_M GHSA-pgwp-vc7q-cvj3
8.2
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Submit malicious FAQ entry as unauthenticated user
  2. Delivery
    Entity-encoded payload bypasses strip_tags()
  3. Exploit
    Admin opens submission for review
  4. Execution
    html_entity_decode()+Twig |raw renders script
  5. Persist
    JavaScript executes in admin session
  6. Impact
    Steal session and take over admin account

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires that the phpMyFAQ instance (versions prior to 4.2.0-alpha) accept user-submitted FAQ entries - the default community-submission workflow. Exploitation is unauthenticated to plant the payload (PR:N), but it only triggers when an administrator subsequently reviews or edits the submitted entry in the admin panel (UI:R), so success depends on admin interaction with attacker-controlled content. The flaw is inherent to the code path (strip_tags → html_entity_decode → Twig |raw rendering without output sanitization) and does not require any non-default configuration.

Impact

The provided CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:N = 8.2 High) is internally consistent with the description: a network-reachable web app where an unauthenticated user (PR:N) submits a malicious FAQ entry that fires only when an administrator later reviews or edits it (UI:R), crossing a privilege boundary into the admin session (S:C). The C:H reflects that the payload steals the admin session and yields account takeover; I:L/A:N is reasonable since impact is primarily confidentiality/session-driven rather than direct data destruction. No EPSS score, no CISA KEV listing, and no public POC were supplied, so there is no signal of active or automated exploitation - this is a plausible-but-unproven risk rather than a confirmed campaign. The dependency on an administrator opening attacker-controlled content (UI:R) is a genuine limiting factor that lowers real-world likelihood below what the 8.2 base score alone implies; it is a targeted social-vector bug, not a wormable pre-auth RCE. Overall: a legitimately serious stored-XSS-to-admin-takeover worth patching promptly for exposed instances, but no evidence it is being weaponized at scale.

Exploit ScenarioDerived

An unauthenticated attacker submits a public FAQ entry containing HTML-entity-encoded JavaScript that survives strip_tags() and is later decoded by html_entity_decode() and rendered via Twig's |raw filter. When an administrator opens the submission to review or edit it, the script executes in the admin's authenticated browser context, exfiltrating the session and enabling full account takeover. No public exploit code was identified at time of analysis, though the GitHub Security Advisory documents the exact code-flow flaw.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 24, 2026

Stored cross-site scripting in phpMyFAQ versions prior to 4.2.0-alpha allows unauthenticated remote attackers, as well as low-privileged registered users, to plant arbitrary JavaScript in user-submitted FAQ entries that executes in an administrator's browser when the entry is reviewed or edited, enabling admin session theft and full account takeover. The assessed CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:N, 8.2 High) reflects that no authentication is needed to submit the payload, but exploitation succeeds only when an administrator later interacts with the attacker-controlled content; the scope change indicates the compromise crosses from the unauthenticated submitter into the privileged admin session. No public exploit code was identified at time of analysis and CISA KEV does not list this CVE, though the default community-submission workflow in affected releases makes the attack path straightforward once a target is identified.

RemediationAI

The vendor has released the fix in phpMyFAQ 4.2.0-alpha (Vendor-released patch: 4.2.0-alpha); upgrading to that version or any later release removes the vulnerable strip_tags/html_entity_decode/|raw sequence and is the only complete remediation. The advisory at https://github.com/thorsten/phpMyFAQ/security/advisories/GHSA-pgwp-vc7q-cvj3 should be consulted for the precise commit and upgrade notes. Where immediate upgrading is not possible, the highest-value compensating control is to disable the community user-submission feature entirely, which removes the injection vector but sacrifices the FAQ contribution workflow; alternatively, restrict submission privileges to a tightly controlled set of trusted accounts, which lowers but does not eliminate risk because a low-privileged user can still plant the payload. Deploying a web application firewall or reverse-proxy rule that blocks script-bearing markup in submission POST bodies provides interim protection but risks false positives against legitimate content and must be validated against the application's form encoding. Administrators should also be advised not to open unreviewed user-submitted entries until the patch is applied, since the payload fires on review, and existing pending or published entries should be audited and re-sanitized after upgrading.

Affected VersionsENISA

phpMyFAQ < 4.2.0-alpha

Affected Packages

composer phpmyfaq/phpmyfaq fix: 4.2.0-alpha
composer thorsten/phpmyfaq fix: 4.2.0-alpha
euvd phpmyfaq fix: 4.2.0-alpha

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 3 packages in composer, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The root cause is CWE-79 (Improper Neutralization of Input During Web Page Generation, i.e., cross-site scripting) arising from an ordering flaw in phpMyFAQ's sanitization pipeline. The application calls strip_tags() on submitted FAQ content first, which is intended to remove HTML tags, but then passes the result through html_entity_decode(), which converts HTML entities back into their literal character forms. Any entity-encoded markup that survived strip_tags() as inert text is therefore reconstituted as executable HTML before storage or rendering. The admin-side template subsequently outputs the content using Twig's |raw filter, which explicitly disables Twig's contextual autoescaping, so the decoded markup is delivered to the administrator's browser without any output sanitization. The CPE record cpe:2.3:a:thorsten:phpmyfaq:*:*:*:*:*:*:*:* identifies the affected package as Thorsten Rinne's phpMyFAQ across all versions before the 4.2.0-alpha fix, and the sole reference is the project's GitHub security advisory GHSA-pgwp-vc7q-cvj3, which corresponds to the reported repository changes. Because the vulnerable path is reached through the standard user-submission feature rather than a non-default configuration, any deployment that accepts community FAQ entries is exposed.

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

Vendor (GitHub_M) PRIMARY 8.2 HIGH
AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:N
vuln.today AI 8.2 HIGH

Unauthenticated network submission (PR:N/AV:N), but requires admin to view the entry (UI:R); XSS executing in admin session crosses privilege boundary (S:C) yielding session theft/account takeover (C:H, I:L).

3.1 AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:L/VA:N/SC:L/SI:L/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
Required
Scope
Changed
Confidentiality
High
Integrity
Low
Availability
None

Lifecycle Timeline

2
Patch available
Sep 24, 2026 - 16:02 EUVD
CVE Published
Sep 24, 2026 - 14:21 cve.org
HIGH 8.2

DescriptionCVE.org

phpMyFAQ is an open source FAQ web application. A stored cross-site scripting (XSS) vulnerability in versions prior to 4.2.0-alpha allows any unauthenticated user (or low-privileged registered user) to inject arbitrary JavaScript that executes in an administrator's browser when they review or edit a user-submitted FAQ entry. This leads to admin account takeover via session theft. The vulnerability exists because html_entity_decode() converts HTML entities into executable HTML after strip_tags() has already passed them through, and the admin template renders the content with Twig's |raw filter without any output sanitization. Version 4.2.0-alpha fixes the issue.

Technical POC Analysis

Stored XSS (CWE-79) in phpMyFAQ's frontend FAQ submission API.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

phpMyFAQ installations running versions prior to 4.2.0-alpha are exposed to a stored cross-site scripting flaw that lets an unauthenticated outsider plant malicious script inside community-submitted FAQ entries, which then executes in the browser of any administrator who reviews or edits that content. The practical consequence for the organization is administrative account takeover on the affected knowledge-base platform, giving an attacker the same access as the site owner and creating a credible path to further compromise of internal systems and data. Leadership should care because the platform is internet-facing and the submission workflow that enables the attack is on by default, so exposure is broad rather than limited to a niche configuration.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: disable or restrict public FAQ submission and self-registration; require administrator moderation and pre-storage sanitization of all submitted content; deploy WAF/reverse-proxy filtering of script tags and event handlers on submission endpoints; enforce a restrictive Content-Security-Policy on the admin interface; rotate administrator credentials and invalidate active admin sessions; restrict admin-console access to trusted networks or VPN; audit and clean stored FAQ entries for injected script; monitor for anomalous admin session activity.

Threat Intelligence Overview

EPSS Score
0.2%
Top 86% exploitable
Prevalence
Low
niche self-hosted open-source FAQ application, limited enterprise footprint
Threat Intel
1
1 source
Data Quality
3 sources
Confidence: Low
EUVD NVD CVE.org EPSS Vulnrichment GHSA GitHub

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

41
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +41
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

CVE-2025-59943 CRITICAL POC
9.8 Oct 03

Duplicate-email registration handling in phpMyFAQ 4.0.7 through 4.0.13 (and 4.0-nightly-2025-10-03 and earlier) lets una

CVE-2023-5865 CRITICAL POC
9.8 Oct 31

Insufficient Session Expiration in GitHub repository thorsten/phpmyfaq prior to 3.2.2. Rated critical severity (CVSS 9.8

CVE-2023-1886 CRITICAL POC
9.8 Apr 05

Authentication Bypass by Capture-replay in GitHub repository thorsten/phpmyfaq prior to 3.1.12. Rated critical severity

CVE-2023-1753 CRITICAL POC
9.8 Mar 31

Weak Password Requirements in GitHub repository thorsten/phpmyfaq prior to 3.1.12. Rated critical severity (CVSS 9.8), t

CVE-2022-3754 CRITICAL POC
9.8 Oct 29

Weak Password Requirements in GitHub repository thorsten/phpmyfaq prior to 3.1.8. Rated critical severity (CVSS 9.8), th

CVE-2026-46364 CRITICAL POC
9.3 May 15

Unauthenticated SQL injection in phpMyFAQ before 4.1.2 allows remote attackers to extract credentials, admin tokens, and

CVE-2017-15730 HIGH POC
8.8 Oct 22

In phpMyFAQ before 2.9.9, there is Cross-Site Request Forgery (CSRF) in admin/stat.ratings.php. Rated high severity (CVS

CVE-2017-15808 HIGH POC
8.8 Oct 23

In phpMyFaq before 2.9.9, there is CSRF in admin/ajax.config.php. Rated high severity (CVSS 8.8), this vulnerability is

CVE-2017-15735 HIGH POC
8.8 Oct 22

In phpMyFAQ before 2.9.9, there is Cross-Site Request Forgery (CSRF) for modifying a glossary. Rated high severity (CVSS

CVE-2017-15734 HIGH POC
8.8 Oct 22

In phpMyFAQ before 2.9.9, there is Cross-Site Request Forgery (CSRF) in admin/stat.main.php. Rated high severity (CVSS 8

CVE-2024-28107 HIGH POC
8.8 Mar 25

phpMyFAQ is an open source FAQ web application for PHP 8.1+ and MySQL, PostgreSQL and other databases. Rated high severi

CVE-2024-27299 HIGH POC
8.8 Mar 25

phpMyFAQ is an open source FAQ web application for PHP 8.1+ and MySQL, PostgreSQL and other databases. Rated high severi

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy