Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as DB user with CREATE privilege
-
DeliveryCreate table with HTML/JS in its name
-
ExploitWait for victim to open table in Designer query mode
-
ExecutionUnescaped name rendered by DesignerHistory.display()
-
ImpactScript executes in victim's session
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 | Attacker must be an authenticated phpMyAdmin/database user who holds the CREATE privilege, which is needed to create a table whose name contains HTML markup (PR:L). The payload only fires when a second (victim) user opens that table in Designer query mode and adds a condition on it, causing the unescaped table name to be rendered by DesignerHistory.display() (history.js L85-L86) - so successful exploitation requires victim interaction within the Designer feature (UI:P). Limiting factors: the CREATE privilege prerequisite confines this to insiders or multi-tenant/shared-hosting setups, the Designer query-mode workflow must actually be used by a higher-value victim, and impact is script execution in the victim's phpMyAdmin session rather than direct server code execution. Affects phpMyAdmin through 5.2.3. |
| Impact | This is a medium-severity stored XSS (vendor CVSS 4.0 base 5.1) whose real-world urgency is moderate, not critical. The vendor 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:P) shows it is network-reachable and low-complexity, but it requires an authenticated attacker holding the CREATE privilege (PR:L) and depends on victim interaction (UI:P) - a second user opening Designer query mode and adding a condition on the attacker's maliciously named table. Impact metrics are all Low (VC:L/VI:L/VA:N with subsequent-system SC:L/SI:L), consistent with script execution in another user's phpMyAdmin session rather than full server compromise. The vuln.today priority is 'this_month' (not act_now/emergency), and there is no CISA KEV listing and no EPSS score supplied, so there is no signal of active or widespread exploitation. PoC signal is present but weak: the input references a VulnCheck advisory and an abraxaslabs research writeup, which are documentation/PoC references rather than confirmed working exploit code. Net: a legitimate issue to remediate on a normal patch cycle, gated heavily by the CREATE-privilege prerequisite and the need for victim interaction - this is a privileged-user-abuse / insider-or-shared-hosting risk, not a mass-exploitable unauthenticated bug. |
| Exploit ScenarioDerived | On a shared phpMyAdmin deployment, a low-privileged database user who holds the CREATE privilege creates a table whose name embeds HTML/JavaScript markup. When an administrator or another user later opens that table in Designer query mode and adds a condition on it, the unescaped table name is rendered by DesignerHistory.display() and the attacker's script executes in the victim's authenticated session. A public PoC reference exists (abraxaslabs research and VulnCheck advisory); it is not verified as working exploit code. Exploitation is low-complexity but requires both the CREATE privilege and the victim's interaction with the Designer. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 30, 2026
Stored cross-site scripting in phpMyAdmin through 5.2.3 lets a database user holding the CREATE privilege embed HTML markup in a table name, which DesignerHistory.display() then renders without escaping. The script fires in another user's browser session only when that victim opens the malicious table in Designer query mode and adds a condition on it, so exploitation requires an authenticated attacker (PR:L) plus victim interaction (UI:P). Impact is confined to script execution in the victim's phpMyAdmin session with cross-boundary scope (S:C, C:L/I:L); no public exploit status or CISA KEV listing is recorded for this CVE, and the assigned priority is 'this_month' - moderate urgency rather than emergency.
RemediationAI
No vendor-released patch version is identified in the available data for this issue, so administrators should track the phpMyAdmin repository (https://github.com/phpmyadmin/phpmyadmin) and the VulnCheck advisory (https://www.vulncheck.com/advisories/phpmyadmin-through-5.2.3-stored-xss-via-designer-query-history-table-name) for a fixed release, and plan to upgrade off 5.2.3 as soon as one is published; note that upgrading is the only complete fix, since the escaping defect is in the shipped JavaScript. Because exploitation is gated on the CREATE privilege, the practical interim control implied by the documented prerequisite is to review which accounts hold CREATE on shared or multi-tenant instances and revoke it where schema creation is not part of the account's job - the trade-off being that those users can no longer create tables themselves and must request DDL from a DBA. A further reduction in exposure comes from the fact that the payload only renders in Designer query mode, so steering day-to-day work away from the Designer/query-history workflow lowers the chance a privileged victim triggers it; the trade-off is loss of a convenience feature, not a security boundary, and it does not remove the underlying stored payload from schema metadata.
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 CWE-79 (improper neutralization of input during web page generation) in phpMyAdmin's Designer feature, a graphical schema-editing tool bundled with the application. Database object names - specifically table names - are legitimately attacker-influenced data, because any user granted CREATE can choose the identifier. In Designer query/history mode, the client-side routine DesignerHistory.display() in js/src/designer/history.js (lines 85-86, as visible in the referenced RELEASE_5_2_3 tag) writes the stored table name into the page without HTML-escaping, so markup embedded in the identifier survives persistence in the database and executes in the browser of a subsequent user. The vulnerable path is a client-side rendering issue rather than a server-side parser or memory-safety problem: the payload is stored in schema metadata and replayed in a different session. The independent assessment scores this CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N, consistent with the vendor's CVSS 4.0 base of 5.1, and the exact triggering sequence beyond 'a second user adds a condition on the table in Designer query mode' is not described in detail in the available sources.
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:L/AT:N/PR:L/UI:P/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N
Authenticated CREATE privilege gives PR:L, the payload requires a victim to interact in Designer (UI:R), and script running in another user's session is a scope change (S:C) with Low C/I and no availability impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
phpMyAdmin through 5.2.3 contains a stored cross-site scripting vulnerability that allows database users with CREATE privilege to inject script via unescaped table names in DesignerHistory.display(). Attackers can create a table whose name contains HTML markup that executes in another user's session when they add a condition on it in Designer query mode.
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
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
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-113828
GHSA-v39r-w56f-c874
NVD
CVE.org
EPSS
VulDB
Exploit-DB