Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privilege phpMyAdmin user
-
ExploitSend crafted operation=save_setting_value request to /database/designer
-
ExecutionBreak out of unescaped json_encode() value in control query
-
ImpactOverwrite other users' Designer settings / run controluser subqueries
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 | Requires an authenticated phpMyAdmin account (CVSS PR:L) with access to the Designer feature, and the phpMyAdmin configuration storage (controluser / pmadb control database and the designer_settings control table) must be configured and enabled, since saveSetting() writes to control tables over the control connection. Exploitation targets the index/value parameters of operation=save_setting_value on /database/designer. Limiting factors: authentication is mandatory, the configuration storage must be set up (not phpMyAdmin's minimal default), and the CVSS AC:H/AT:P rating reflects that the trigger is constrained - the injected data flows through json_encode() output, which escapes quotes and limits freely injectable characters, so the attack is not a straightforward quote break-out. Impact is confined to control-database tables (other users' Designer settings / controluser subqueries), not the user's own data or the host. |
| Impact | This is a low-priority, high-barrier issue rather than an urgent threat. The supplied CVSS 4.0 base score is 2.3 (Low) with vector AV:N/AC:H/AT:P/PR:L/UI:N and only Low vulnerable-system confidentiality and integrity impact (VC:L/VI:L), with no availability or subsequent-system impact. The combination of AC:H, AT:P and PR:L means exploitation is network-reachable but requires an authenticated low-privilege phpMyAdmin account plus a non-trivial, partly attacker-uncontrolled trigger condition. The vuln.today Decision label is 'monitor', which aligns with the low score. No CISA KEV listing and no EPSS score were provided, so there is no signal of active or probable exploitation; the only exploitation-related artifact is a public research write-up (abraxaslabs.tech) and a VulnCheck advisory, which document the flaw but are not confirmed as working weaponized exploit code. A vendor patch is available (phpMyAdmin PR #18698 and associated commits). Net: a genuine authenticated SQL-injection in the Designer feature, but with constrained impact (control tables / other users' designer settings via the controluser) and a high exploitation barrier - treat as a scheduled-patch item, not an emergency. |
| Exploit ScenarioDerived | An authenticated phpMyAdmin user with access to the Designer feature sends a crafted request to /database/designer with operation=save_setting_value, placing SQL into the index or value parameter. Because the value is passed through json_encode() output that is not properly escaped before being concatenated into a control-connection query, the attacker can break out of the intended statement to overwrite other users' saved Designer settings or run subqueries as the controluser. A public research write-up describing the technique exists, but it is not verified as working exploit code, and the AC:H/AT:P rating indicates the trigger is not trivially reliable. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 30, 2026
SQL injection in phpMyAdmin's Designer saveSetting() handler (all versions through 5.2.3) lets an authenticated user who can reach the Designer feature inject SQL through the index and value parameters of operation=save_setting_value on /database/designer, allowing other users' stored Designer settings to be overwritten or subqueries to be run over the controluser connection. The bar is high: an account is required, and the phpMyAdmin configuration storage (controluser / pmadb with the designer settings control table) must be configured, since the injection lands in control-database tables rather than user data or the host. Upstream fixes exist as commits and pull request 18698; severity is scored low (CVSS 4.0 base 2.3; assessed CVSS 3.1 AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N), the priority label is monitor, and there is no CISA KEV entry - a public research writeup describing the flaw exists, but it is not verified as working exploit code. This is a low-priority, high-barrier issue rather than an urgent threat.
RemediationAI
Apply the upstream fix: pull request https://github.com/phpmyadmin/phpmyadmin/pull/18698, delivered by commits https://github.com/phpmyadmin/phpmyadmin/commit/ec0c6d8394b70d67798f38b645e39c26ea96a2a3 and https://github.com/phpmyadmin/phpmyadmin/commit/8d1244a72b3be073418e0e08f6f5506815bc7e65, which replace escapeString()-with-manual-quotes with quoteString(..., Connection::TYPE_CONTROL) across the Designer code paths - no tagged release version carrying the fix is independently confirmed in the available data, so confirm the patched build with the vendor before closing the finding. Where upgrading cannot happen immediately, note that disabling the phpMyAdmin configuration storage (controluser/pmadb) removes the control tables the injection writes to and therefore neutralises this issue, at the cost of losing the Designer, bookmarks, relations, query history and other pmadb-backed features; alternatively keep Designer access restricted to trusted, fully authenticated accounts, accepting that any such account can still tamper with the shared Designer settings of other users. Neither workaround addresses the underlying concatenation flaw, and updating remains the only complete fix.
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
phpMyAdmin's Designer is a visual schema-layout feature that persists page, table-position, relation and per-user setting data in a set of special 'configuration storage' tables in a separate control database (the classic pmadb / controluser setup), reached over a dedicated control connection rather than the user's own connection. CWE-89 applies because the Designer code in libraries/classes/Database/Designer/Common.php assembles control-table SQL by string concatenation: values were run through the database interface's escapeString() and then hand-wrapped in single quotes, and the fix commit shows that pattern replaced everywhere with quoteString($value, Connection::TYPE_CONTROL), which both escapes and quotes against the control connection's own charset. That mismatch - escaping with the user connection's semantics while executing on the control connection - is what makes crafted index/value payloads submitted with operation=save_setting_value able to alter the generated statement in saveSetting(). The trigger is constrained, not a simple quote break-out: the injected data passes through json_encode() output, which escapes quotes and limits which characters can be freely injected, which is why the assessed vector carries AC:H/AT:P while confidentiality and integrity impact stay low and confined to the control database. The CPE cpe:2.3:a:phpmyadmin:phpmyadmin:*:*:*:*:*:*:*:* and the EUVD range 'phpMyAdmin 0 ≤5.2.3' both indicate the whole release line up to and including 5.2.3 is affected.
Know when Phpmyadmin 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:L/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N
Network-reachable but needs an authenticated low-privilege user (PR:L) and json_encode escaping constrains injectable characters (AC:H); impact limited to control tables (C:L/I:L, A:N, scope unchanged).
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
phpMyAdmin through 5.2.3 contains an sql injection vulnerability in Designer saveSetting() that allows authenticated users to inject SQL via unescaped json_encode() output. Attackers can send crafted index or value parameters with operation=save_setting_value to /database/designer to overwrite other users' designer settings or run controluser subqueries.
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.
More in Phpmyadmin
View allphpMyAdmin 4.0.x before 4.0.10.16, 4.4.x before 4.4.15.7, and 4.6.x before 4.6.3 does not properly choose delimiters to
phpMyAdmin 3.5.2.2, as distributed by the cdnetworks-kr-1 mirror during an unspecified time frame in 2012, contains an e
phpMyAdmin 3.5.x before 3.5.8 and 4.x before 4.0.0-rc3 allows remote authenticated users to execute arbitrary code via a
An issue was discovered in phpMyAdmin 4.8.x before 4.8.2, in which an attacker can include (view and potentially execute
SQL Injection vulnerability in function getTableCreationQuery in CreateAddField.php in phpMyAdmin 5.x before 5.2.0 via t
An issue was discovered in SearchController in phpMyAdmin before 4.9.6 and 5.x before 5.0.3. Rated critical severity (CV
libraries/plugins/auth/AuthenticationCookie.class.php in phpMyAdmin 4.3.x before 4.3.13.2 and 4.4.x before 4.4.14.1 allo
phpMyAdmin through 5.0.2 allows CSV injection via Export Section. Rated high severity (CVSS 8.8), this vulnerability is
In phpMyAdmin 4 before 4.9.4 and 5 before 5.0.1, SQL injection exists in the user accounts page. Rated high severity (CV
phpMyAdmin 4.8.0 before 4.8.0-1 has CSRF, allowing an attacker to execute arbitrary SQL statements, related to js/db_ope
libraries/common.inc.php in phpMyAdmin 4.0.x before 4.0.10.7, 4.1.x before 4.1.14.8, and 4.2.x before 4.2.13.1 allows re
The Portable phpMyAdmin plugin before 1.3.1 for WordPress allows remote attackers to bypass authentication and obtain ph
EUVD-2026-113807
GHSA-23wc-rmw7-463f
NVD
CVE.org
EPSS
Exploit-DB