Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSend request to public api/autocomplete
-
DeliveryInject Unicode right single quote in search
-
ExploitBypass backslash escaping via NO_BACKSLASH_ESCAPES mode
-
ExecutionTerminate SQL literal and append payload
-
ImpactExfiltrate credentials or drop tables
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Parameterized queries, prepared statements
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Persistence 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 backend database (MySQL or MariaDB) to be running in NO_BACKSLASH_ESCAPES SQL mode - this is the explicit, non-default prerequisite that makes PdoMysql::escape()'s backslash-based quote escaping ineffective, and it is reflected as AT:P/AC:H in the CVSS vector. The specific entry point is the search parameter of the api/autocomplete endpoint, and the payload must use a Unicode right single quotation mark (U+2019) that the application later normalizes to an ASCII single quote, bypassing the escaping that already executed. No authentication and no user interaction are needed (PR:N/UI:N), so deployments meeting the SQL-mode condition are exposed to unauthenticated remote attackers. The primary limiting factor is the SQL mode: instances using the default MySQL/MariaDB configuration (where backslash escaping is honored) are not exploitable via this path. |
| Impact | This is a genuine high-priority issue, not merely a high-CVSS artifact, but with an important caveat embedded in the CVSS 4.0 vector itself. The vector CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H scores 9.2 because it combines network reach, no authentication (PR:N), no user interaction, and full high impact to confidentiality, integrity, and availability (read credentials, modify records, drop tables) via classic SQL injection (CWE-89). However, the elevated attack complexity (AC:H) and the explicit attack requirement (AT:P) are the decisive risk modulators: exploitation only works when the backend MySQL/MariaDB instance runs in NO_BACKSLASH_ESCAPES SQL mode, which is NOT the default configuration. No EPSS score was provided in the input, so exploitation probability cannot be quantified. The vulnerability is NOT listed in CISA KEV, and no public exploit code is referenced in the provided sources (only a GitHub Security Advisory and a VulnCheck advisory, which are disclosure records, not exploit releases). Signals are therefore consistent rather than conflicting: a real, serious unauthenticated SQLi gated by a non-default database mode, disclosed by a reputable finder (VulnCheck) but without confirmed active exploitation. Treat as high priority to patch for any phpMyFAQ deployment, with triage weighting toward instances whose database runs in NO_BACKSLASH_ESCAPES mode. |
| Exploit ScenarioDerived | An unauthenticated attacker sends an HTTP request to the public api/autocomplete endpoint with a Unicode right single quotation mark (U+2019) in the search parameter; the application normalizes this to an ASCII single quote after the flawed backslash-based escaping in PdoMysql::escape() has already run, so the quote breaks out of the SQL string literal. Because the backend runs in NO_BACKSLASH_ESCAPES mode, the escaping backslashes are treated literally rather than as escapes, allowing the injected quote to terminate the query and append attacker-controlled SQL to read stored credentials and configuration secrets, alter records, or drop tables. No public exploit code is identified in the provided sources, but the disclosure describes the technique in actionable detail. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 12, 2026
Unauthenticated SQL injection in phpMyFAQ versions prior to 4.1.9 lets remote attackers read credentials and configuration secrets, modify or delete records, or drop tables via the search parameter of the api/autocomplete endpoint. Exploitation is conditional: the backend MySQL or MariaDB instance must be running in NO_BACKSLASH_ESCAPES mode, because PdoMysql::escape() relies on backslash escaping of single quotes that that SQL mode treats literally; the payload additionally uses a Unicode right single quotation mark (U+2019) that the application normalizes to an ASCII quote after escaping has already been applied, bypassing the filter. This is a genuine high-priority issue (CVSS 4.0 base 9.2, AT:P/AC:H reflecting the non-default SQL-mode prerequisite) rather than a high-CVSS artifact, since an attacker who reaches such a deployment needs no authentication and no user interaction; no public exploit code and no confirmed active exploitation were identified at time of analysis, and the primary limiting factor is whether the target database uses the default SQL mode.
RemediationAI
Upgrade to phpMyFAQ 4.1.9, the vendor-released fixed version, which removes the backslash-dependent escaping and closes the normalization bypass; the release is documented in advisory GHSA-98p2-cg7p-h385. As an interim compensating control for deployments that cannot patch immediately, remove NO_BACKSLASH_ESCAPES from the MySQL/MariaDB sql_mode setting (restoring backslash-based escaping and rendering this path non-exploitable) and verify the change in the running configuration - the trade-off is that any other application sharing the database instance that depends on that mode, or any stored data containing literal backslashes, may behave differently after the change. Additionally, block or restrict access to the api/autocomplete endpoint at the reverse proxy for unauthenticated clients, or apply a WAF rule rejecting the U+2019 character and SQL metacharacters in the search parameter; both are partial mitigations because alternate injection paths in the same abstraction layer are not excluded. Note that patching alone does not require the SQL-mode change, so database configuration rollback can be re-evaluated once 4.1.9 is deployed. Monitor database accounts used by phpMyFAQ for unexpected DDL or bulk SELECT activity, and rotate any credentials or configuration secrets stored in the database if compromise is suspected.
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
The flaw is a classic CWE-89 SQL injection rooted in an incorrect escaping strategy. phpMyFAQ's PdoMysql::escape() method escapes single quotes by prefixing them with a backslash, an approach that is only valid when the MySQL/MariaDB server honors backslash escape sequences inside string literals. When the server runs with NO_BACKSLASH_ESCAPES enabled, backslashes are ordinary characters, so the injected quote terminates the string and attacker-controlled SQL is parsed. A second, independent weakness compounds this: the api/autocomplete 'search' parameter accepts a Unicode right single quotation mark (U+2019), which is normalized to an ASCII apostrophe by the application only after the escaping routine has run, so the quote introduced by normalization is never escaped. The result is an unauthenticated injection path through a JSON/autocomplete API endpoint, allowing data exfiltration, record manipulation, and destructive DDL. The affected CPE is cpe:2.3:a:thorsten:phpmyfaq:*:*:*:*:*:*:*:* (all releases before the fixed 4.1.9), reported by VulnCheck and detailed in the vendor's GitHub security advisory GHSA-98p2-cg7p-h385.
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:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Network-reachable unauthenticated endpoint (AV:N/PR:N/UI:N), but AC:H because it depends on the non-default NO_BACKSLASH_ESCAPES mode; SQLi allows reading secrets, modifying records, and dropping tables (C:H/I:H/A:H).
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
phpMyFAQ before 4.1.9 contains an SQL injection vulnerability in PdoMysql::escape(), which escapes single quotes with backslashes that are treated literally when MySQL or MariaDB runs in NO_BACKSLASH_ESCAPES mode. Unauthenticated attackers can send a Unicode right single quotation mark in the search parameter of api/autocomplete, which is normalized to an ASCII quote, to read credentials and configuration secrets, modify records, or drop tables.
Executive ViewAI
phpMyFAQ deployments running versions prior to 4.1.9 face a critical SQL injection risk that, under a specific non-default MySQL/MariaDB configuration, could allow attackers to read credentials and configuration secrets, alter or delete data, or drop tables. No vendor-released patch identified at time of analysis, so security leadership should treat this as a high-priority exposure requiring immediate inventory, access restriction, and compensating controls until a fix is released. No public exploit identified at time of analysis, but the potential organizational impact includes credential compromise, data integrity loss, and service disruption.
No vendor-released patch identified at time of analysis; interim mitigations include ensuring MySQL/MariaDB is not configured with NO_BACKSLASH_ESCAPES mode, restricting access to the api/autocomplete endpoint, deploying WAF rules to filter SQL injection and U+2019 payloads, applying least-privilege database permissions, rotating exposed credentials, and monitoring logs for suspicious search parameter activity.
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
SQL injection exploits the way applications construct database queries by mixing user input directly into SQL statements.
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-98156
GHSA-2v8j-hf72-c5w9
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB