Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconObtain phpMyFAQ FAQ editor credentials
-
DeliveryCraft FAQ answer embedding img tag with local config file src
-
ExploitSave malicious FAQ content
-
InstallTrigger PDF export of that FAQ
-
C2TCPDF attempts to load PHP file as image
-
ExecuteUncaught exception stack trace returned
-
ImpactDatabase credentials disclosed in response
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V5 - File Handling File name/path control
|
| Exploitation Conditions | The attacker must hold an active phpMyFAQ account with FAQ creation or editing permissions - this is the essential, non-negotiable prerequisite. The target file must reside within the web root's content/ directory, as the attack vector is constrained to paths reachable through that location (e.g., content/core/config/database.php); files outside this subtree are not reachable via the documented attack path. PDF export functionality must be enabled and accessible to the attacker's session. The severity of information disclosure is directly governed by the PHP runtime's zend.exception_string_param_max_len setting: at the PHP default of 15 characters, only a fragment is exposed; at higher operator-configured values, full file contents including credentials may be disclosed. Exploitation does not require any special network position, specific operating system, or non-standard web server configuration beyond authenticated HTTP access to a vulnerable phpMyFAQ installation. Installations where FAQ editing rights are restricted to a small, trusted staff group face substantially lower real-world risk than community-editable deployments. |
| Impact | The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N) places this firmly in the high-severity tier: the attack is network-reachable, requires no elevated complexity or additional attack preconditions, and demands only low-privilege access in the form of a FAQ editor account. The high confidentiality impact is warranted because successful exploitation on a permissively configured instance can yield full database credential disclosure, which cascades into broader infrastructure compromise. No CISA KEV listing exists and no public proof-of-concept has been identified at time of analysis, so exploitation remains theoretical but operationally trivial for any attacker who already holds FAQ editing rights. EPSS data was not provided in available intelligence, which limits probabilistic risk scoring. The primary real-world risk differentiator is the zend.exception_string_param_max_len setting: organizations running PHP at its default value face a significantly reduced disclosure window, whereas instances with elevated values - which some operators configure for debugging purposes - face near-total file exposure. Even a mid-sized municipal IT team in sanok running a community-facing phpMyFAQ deployment should treat this as an urgent upgrade given that leaked credentials from the database.php configuration file could grant attackers direct database access. The requirement for FAQ editor access prevents unauthenticated mass exploitation but does not meaningfully protect installations with open community registration. |
| Exploit ScenarioDerived | An attacker who has obtained FAQ editor access on a community phpMyFAQ instance - through open self-registration or compromised credentials - creates a FAQ answer containing an img tag with its src set to content/core/config/database.php. The attacker then triggers a PDF export of that FAQ, causing TCPDF to read the PHP configuration file as though it were an image; the resulting parse failure raises an uncaught exception whose stack trace is returned in the HTTP response, disclosing the database hostname, username, and password. No public proof-of-concept has been identified, but the attack requires only a standard browser and no specialized tooling. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 19, 2026
Local file disclosure in phpMyFAQ before 4.1.7 is triggered through unsanitized HTML in FAQ answers when PDF documents are generated via TCPDF. Any user holding FAQ creation or editing rights can embed an img tag whose src attribute references a local file within the content/ directory - when PDF export runs, TCPDF fails to parse the target as an image and raises an uncaught exception whose stack trace exposes a portion of the file's raw contents, potentially including database credentials stored in content/core/config/database.php. No public exploit has been identified at time of analysis, but the CVSS 4.0 score of 7.1 with high confidentiality impact accurately reflects the realistic severity given the potential for full credential exposure under permissive PHP runtime settings.
RemediationAI
The primary remediation is to upgrade phpMyFAQ to version 4.1.7 or later, as specified in the vendor security advisory at https://github.com/thorsten/phpMyFAQ/security/advisories/GHSA-c63q-xx7x-j8w2. If immediate patching is not operationally feasible, the most effective compensating control is to restrict FAQ creation and editing permissions to the smallest possible set of fully trusted users, since attacker-controlled FAQ content is the essential prerequisite. Setting zend.exception_string_param_max_len to its minimum value (15, the PHP default) in php.ini reduces but does not eliminate disclosure risk - truncated stack traces may still reveal partial path or configuration data. Disabling PDF export entirely is the strongest short-term workaround for installations where the feature is non-essential, though doing so impacts any workflow dependent on PDF generation. Monitoring web server and application logs for PDF export events on FAQ items authored by low-privilege or recently created accounts provides a detection signal for potential exploitation attempts. There are no known side effects from applying the 4.1.7 upgrade beyond standard application update testing.
Affected VersionsENISA
Affected Packages
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 an open-source PHP FAQ management platform (CPE: cpe:2.3:a:thorsten:phpmyfaq) that uses TCPDF, a widely deployed PHP library, to render HTML FAQ content into downloadable PDF documents. CWE-73 (Improper Control of Filename for Include/Require Statement in Web Application) identifies the root cause: user-controlled HTML - specifically an img tag's src attribute - is consumed by TCPDF as a local filesystem path without adequate sanitization or path restriction, allowing the library to attempt reading arbitrary files under the content/ directory. When TCPDF encounters a non-image file such as a PHP configuration script, parsing fails and PHP raises an uncaught exception. PHP's default exception formatting includes a stack trace that may embed a substring of the file's raw bytes, with disclosure length bounded by the zend.exception_string_param_max_len runtime INI directive. The PHP default for this value is 15 characters, which severely constrains disclosure; larger operator-configured values can expand exposure to entire file contents, making the severity highly environment-dependent.
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
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
FAQ editor role (PR:L) is required over network; no integrity or availability impact applies, and scope is unchanged.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
phpMyFAQ before 4.1.7 does not adequately sanitize HTML in FAQ answers before generating PDFs via TCPDF. An attacker with permission to create or edit FAQ content can embed an <img> tag whose src references a local file under the web root's content/ directory (e.g., content/core/config/database.php). When the PDF is generated, phpMyFAQ attempts to read the referenced file; because it is not a valid image the resulting error is converted into an uncaught exception whose stack trace discloses part of the file's contents to any user who triggers the PDF export. By default the disclosed portion is truncated (zend.exception_string_param_max_len), but a larger configured value can result in disclosure of entire files, including database credentials.
Executive ViewAI
phpMyFAQ versions before 4.1.7 contain a local file disclosure vulnerability allowing users with FAQ editing rights to expose sensitive database credentials. The vulnerability is triggered through malicious HTML in PDF exports, which causes TCPDF parsing failures that expose stack traces containing database configuration details; no public exploit has been identified at time of analysis. Organizations using phpMyFAQ face potential database credential compromise and unauthorized access by internal threat actors with editing rights.
Restrict FAQ creation and editing rights to a minimal set of trusted administrators; disable or severely restrict PDF export functionality; implement strict file system permissions on the content/ directory to limit unauthorized access; audit all recent FAQ modifications for embedded file references; implement detailed logging and monitoring on PDF generation activities; store database credentials in environment variables rather than configuration files where technically feasible.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Duplicate-email registration handling in phpMyFAQ 4.0.7 through 4.0.13 (and 4.0-nightly-2025-10-03 and earlier) lets una
Insufficient Session Expiration in GitHub repository thorsten/phpmyfaq prior to 3.2.2. Rated critical severity (CVSS 9.8
Authentication Bypass by Capture-replay in GitHub repository thorsten/phpmyfaq prior to 3.1.12. Rated critical severity
Weak Password Requirements in GitHub repository thorsten/phpmyfaq prior to 3.1.12. Rated critical severity (CVSS 9.8), t
Weak Password Requirements in GitHub repository thorsten/phpmyfaq prior to 3.1.8. Rated critical severity (CVSS 9.8), th
Unauthenticated SQL injection in phpMyFAQ before 4.1.2 allows remote attackers to extract credentials, admin tokens, and
In phpMyFAQ before 2.9.9, there is Cross-Site Request Forgery (CSRF) in admin/stat.ratings.php. Rated high severity (CVS
In phpMyFaq before 2.9.9, there is CSRF in admin/ajax.config.php. Rated high severity (CVSS 8.8), this vulnerability is
In phpMyFAQ before 2.9.9, there is Cross-Site Request Forgery (CSRF) for modifying a glossary. Rated high severity (CVSS
In phpMyFAQ before 2.9.9, there is Cross-Site Request Forgery (CSRF) in admin/stat.main.php. Rated high severity (CVSS 8
phpMyFAQ is an open source FAQ web application for PHP 8.1+ and MySQL, PostgreSQL and other databases. Rated high severi
phpMyFAQ is an open source FAQ web application for PHP 8.1+ and MySQL, PostgreSQL and other databases. Rated high severi
EUVD-2026-62451
GHSA-m98p-5698-x2wc
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB