CVE-2026-56738
HighCVSS 8.5Summary
phpMyFAQ before 4.1.6 has a vulnerability in the StopWords::add() method that builds a SQL INSERT statement using sprintf() and inserts the user-supplied stop word value directly into the query without calling the database escaping function. An authenticated administrator can submit a crafted value that breaks out of the SQL string literal and injects arbitrary SQL, including dropping tables, exfiltrating data, or modifying other rows.
Risk Assessment
The risk includes full database compromise, including data loss and unauthorized access to sensitive information.
Recommendation
Upgrade phpMyFAQ to version 4.1.6, which fixes this vulnerability.
Other vulnerabilities in phpMyFAQ
See all- CVE-2026-56737High
phpMyFAQ versions 3.2.0 through 4.1.5 contain an authentication bypass in the public two-factor authentication verification flow. An unauthenticated attacker can submit an account's numeric user ID and a valid or brute-forced six-digit TOTP code without the password, allowing takeover of any 2FA-enabled account, including administrators. Version 4.1.6 patches the issue by binding TOTP verification to a session established after successful password authentication and limiting failed TOTP attempts.
- CVE-2026-56736High
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.
- CVE-2026-57994Medium
A vulnerability in phpMyFAQ before version 4.1.5 allows unauthenticated attackers to retrieve inactive (draft or review-only) FAQ content due to inconsistent filtering in public API endpoints.
- CVE-2026-57961Low
phpMyFAQ before version 4.1.5 contains a path traversal vulnerability in the concatenatePaths() function in Wrapper.php. An authenticated user with FAQ editing privileges can store crafted HTML with image paths that are processed during PDF generation. Lack of path canonicalization and root-directory containment validation may allow reading files outside the intended content directory.
- CVE-2026-35676High
phpMyFAQ before 4.1.3 contains an unauthenticated password reset vulnerability in the user password update API endpoint that allows attackers to change account passwords without token validation.
- CVE-2026-46367High
phpMyFAQ before version 4.1.2 contains a stored cross-site scripting vulnerability in the Utils::parseUrl() function. This allows authenticated users to inject JavaScript via malformed URLs in comments.
- CVE-2026-46366High
phpMyFAQ before version 4.1.2 contains an information disclosure vulnerability in the getIdFromSolutionId() method that lacks permission filtering. This allows unauthenticated attackers to enumerate restricted FAQ entries and read their titles via the /solution_id_{id}.html endpoint.
- CVE-2026-46359High
phpMyFAQ before version 4.1.2 contains a SQL injection vulnerability in CurrentUser::setTokenData that allows authenticated attackers to execute arbitrary SQL by injecting malicious OAuth token claims.
- CVE-2017-15808High
In phpMyFaq before version 2.9.9, there is a CSRF vulnerability in admin/ajax.config.php.
- CVE-2017-15735High
In phpMyFAQ before version 2.9.9, there is a Cross-Site Request Forgery (CSRF) vulnerability that allows modification of a glossary.
Original NVD description (English source)
phpMyFAQ is an open source FAQ web application. The `StopWords::add()` method inversions prior to 4.1.6 builds a SQL `INSERT` statement using `sprintf()` and inserts the user-supplied stop word value directly into the query string without calling the application's database escaping function on it. A sibling method, `StopWords::update()`, which modifies an existing stop word, correctly escapes the same kind of input. The omission is isolated to the `add()` (insert) code path. An authenticated administrator who can reach the stop-word management feature can submit a crafted value as the "word" parameter that breaks out of the SQL string literal and injects arbitrary SQL, including statements to drop tables, exfiltrate data, or modify other rows in the database. Version 4.1.6 fixes the issue.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

