Skip to main content

phpMyFAQ EUVDEUVD-2026-103325

| CVE-2026-111894 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-10-17 VulnCheck GHSA-wwmv-7qmx-vxv3
5.1
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Authenticate as content author
  2. Delivery
    Embed iframe with data:text/html source
  3. Exploit
    Bypass cleanUpContent allowlist
  4. Execution
    Stored via Twig raw filter
  5. Persist
    Victim views FAQ/News entry
  6. Impact
    Execute JavaScript in browser context

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

Exploitation requires the attacker to hold an authenticated phpMyFAQ account with content-author privileges (PR:L) able to create or edit FAQ or News content. The specific vector is embedding an iframe element with a data:text/html source, which evades the hostless media-host allowlist in FaqHelper::cleanUpContent() because the resulting content is emitted through Twig's raw filter without escaping. Payload execution additionally requires a victim to view the affected FAQ/News entry (UI:P). Limiting factors: affected versions are phpMyFAQ 3.2.1 through before 4.1.9 and 4.2.0-alpha before 4.2.0-beta (upgrade to 4.1.9 or 4.2.0-beta remediates), the attacker cannot be fully anonymous, and impact is confined to the viewer's browser session rather than the server.

Impact

This is a medium-severity stored XSS (CWE-79) with a vendor/VulnCheck CVSS 4.0 base score of 5.1, and the signals are internally consistent rather than conflicting. The vector (AV:N/AC:L/AT:N/PR:L/UI:P/VC:L/VI:L/VA:N with subsequent-system SC:L/SI:L) describes a network-reachable but privilege-gated flaw: PR:L confirms the attacker must already be an authenticated content author, and UI:P requires a victim to passively view the poisoned FAQ or News entry. No EPSS score, CISA KEV listing, or public POC is present in the provided data, so exploitation likelihood signals are absent rather than elevated - there is no evidence of active exploitation or weaponization. The limited confidentiality/integrity impact (L/L) and lack of availability impact keep this well below critical. Net: this is a genuine but modest-priority issue best handled via normal patching cadence, not an emergency - the author-level privilege requirement and need for victim interaction substantially constrain real-world abuse, and nothing in the data elevates it to a widespread or actively exploited threat.

Exploit ScenarioDerived

An attacker with content-author credentials creates or edits an FAQ or News entry, embedding an iframe whose source is a data:text/html URI that bypasses the hostless media-host allowlist enforced by FaqHelper::cleanUpContent(); because the content is output through Twig's raw filter, the markup is rendered unsanitized. When a logged-in user or visitor views the entry, the attacker-controlled HTML/JavaScript executes in their browser, enabling a phishing interface or a top-frame redirect. No public exploit code is identified at time of analysis, though the advisory describes the technique in enough detail to reproduce it.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.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 – Oct 17, 2026

Stored cross-site scripting in phpMyFAQ (3.2.1 through before 4.1.9, and 4.2.0-alpha before 4.2.0-beta) lets users who hold content-author accounts embed iframes with data:text/html sources in FAQ or News entries, bypassing the hostless media-host allowlist in FaqHelper::cleanUpContent(). Because that content is emitted through Twig's raw filter without escaping, the script runs in the browser of anyone who views the affected entry, enabling phishing interfaces or top-frame redirects; exploitation requires an authenticated author account and victim interaction, and no public exploit code or CISA KEV confirmation was identified at time of analysis.

RemediationAI

Vendor-released patch: upgrade to phpMyFAQ 4.1.9 or 4.2.0-beta, which remediates both affected ranges, following the vendor advisory at https://github.com/thorsten/phpMyFAQ/security/advisories/GHSA-fg92-v5rr-4xjq. Where immediate upgrade is not possible, reduce exposure by tightening content-author provisioning: restrict FAQ/News author accounts to vetted staff and remove stale accounts, since the injection requires PR:L author privileges (trade-off: editorial throughput drops). Additionally, the practical compensating control is at the rendering layer rather than the filter: enable a Content-Security-Policy that forbids framing of data: URIs (e.g. frame-src directives without data:), which neutralizes the specific vector but can break legitimate embedded media and requires testing against existing content; disabling or moderating the FAQ/News editing feature for untrusted authors, or requiring editorial review before publication, limits the attack surface at the cost of workflow friction. After patching, audit existing FAQ and News content for iframe tags with data: sources and remove any found, since stored payloads persist in the database.

Affected VersionsENISA

phpMyFAQ 3.2.1 <4.1.9
phpMyFAQ 4.2.0-alpha <4.2.0-beta

Affected Packages

euvd phpmyfaq fix: 4.1.9, 4.2.0-beta

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

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

Technical ContextAI · show details

phpMyFAQ is a PHP-based FAQ/knowledge-base application that renders user-authored FAQ and News content through the Twig templating engine. The root cause is CWE-79 (improper neutralization of input during web page generation): the sanitizer FaqHelper::cleanUpContent() relies on a hostless media-host allowlist to screen embedded media, and an iframe whose src is a data:text/html URI has no host to check, so it slips past the filter. The stored content is subsequently output with Twig's raw filter, which disables auto-escaping, so the iframe is rendered as live markup. Data-URI iframes execute in the origin context of the hosting page, letting an author craft arbitrary HTML/JavaScript that displays deceptive login forms or forces a top-frame navigation for viewers. The vendor/CPE metadata flags the Thorsten phpMyFAQ package as the affected product, and the vendor advisory GHSA-fg92-v5rr-4xjq documents the fix boundary at 4.1.9 and 4.2.0-beta.

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 (VulnCheck) PRIMARY 5.1 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N
vuln.today AI 5.4 MEDIUM

Authenticated content author required so PR:L; a victim must view the stored payload giving UI:R; XSS executes in the victim's browser outside the app's authority, so S:C with limited C/I and no availability impact.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
Passive
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
Low
Vulnerable system: Availability
None
Subsequent system: Confidentiality
Low
Subsequent system: Integrity
Low
Subsequent system: Availability
None

Lifecycle Timeline

1
Patch available
Oct 17, 2026 - 20:16 EUVD

DescriptionCVE.org

phpMyFAQ 3.2.1 before 4.1.9 and 4.2.0-alpha before 4.2.0-beta contains a stored cross-site scripting vulnerability that allows authenticated content authors to inject JavaScript by embedding iframes with data:text/html sources in FAQ or News content. Attackers can bypass the hostless media-host allowlist in FaqHelper::cleanUpContent(), which is rendered via Twig's raw filter, to run phishing interfaces or top-frame redirects for viewers.

Threat Intelligence Overview

EPSS Score
0.2%
Top 93% exploitable
Prevalence
Low
niche open-source FAQ/knowledge-base software, limited enterprise footprint
Data Quality
6 sources
Confidence: High

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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

26
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
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