Skip to main content

phpMyAdmin CVE-2026-119428

| EUVDEUVD-2026-113808 MEDIUM
Server-Side Request Forgery (SSRF) (CWE-918)
2026-10-30 VulnCheck GHSA-7gqf-2rj6-2m6m
6.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Reach unauthenticated setup/validate.php endpoint
  2. Exploit
    POST attacker-chosen host and port
  3. Execution
    Validator::testDBConnection() opens outbound MySQL connection
  4. Impact
    Parse returned error messages to infer open internal ports

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V4 - API and Web Service URL allowlisting, SSRF prevention
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Credential Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires that the phpMyAdmin setup/validate.php endpoint is network-reachable by the attacker; the vulnerability exists because validate.php lacks the setup-disabled guard, so the probe path remains exposed even in deployments that believe setup is disabled. No authentication is required (PR:N). The exploit is a blind/semi-blind SSRF constrained to outbound MySQL-protocol connections, and the attacker's gain is limited to internal port/service enumeration inferred from returned error messages (VC:L); there is no integrity or availability impact. Limiting factors that reduce real-world risk: the setup/ directory must be accessible (many hardened deployments block or remove it after initial configuration), the high attack complexity and present attack requirements (AC:H/AT:P) mean exploitation is not trivially reliable, and output is restricted to error-message-based inference rather than arbitrary response retrieval.

Impact

This is a medium-severity, real-but-not-urgent issue. The CVSS 4.0 vector (AV:N/AC:H/AT:P/PR:N/UI:N) scores 6.3 and confirms a network-reachable, unauthenticated vector (PR:N), but the high attack complexity (AC:H) and present attack requirements (AT:P) plus only low confidentiality impact (VC:L, with VI:N/VA:N/SC:N/SI:N/SA:N) reflect that this is a blind/semi-blind SSRF whose yield is limited to inferring internal port state from returned MySQL-protocol error messages - not data theft, code execution, or write access. No EPSS score and no KEV status are present in the input, so there is no signal of active or probabilistic exploitation to weigh; exploitation status is therefore 'no public working exploit identified at time of analysis' (see confidence notes regarding the public write-up). The vuln.today decision label is 'this_month' (not act_now/emergency), which aligns with the medium CVSS and absence of KEV. Net: a genuine SSRF worth patching within the normal monthly cycle, not a high-CVSS-but-low-real-risk false alarm nor a drop-everything emergency. The signals are consistent with each other; the main caveat is that real-world exposure hinges on whether the setup/ endpoint is network-reachable, which is a deployment-dependent condition the CVSS vector does not capture.

Exploit ScenarioDerived

An attacker who can reach a phpMyAdmin instance's setup/validate.php endpoint sends a POST request supplying an attacker-chosen host and port; because validate.php lacks the setup-disabled guard, the request reaches Validator::testDBConnection() and opens an outbound MySQL-protocol connection to that target. By varying the host/port and reading the returned connection error messages, the attacker maps reachable internal services and open ports behind the server. A public technical write-up describing the flaw exists, but the input does not confirm working, weaponized exploit code.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 30, 2026

Server-side request forgery in phpMyAdmin through 5.2.3 lets unauthenticated remote attackers drive the application into outbound MySQL-protocol connections to attacker-chosen hosts and ports via setup/validate.php, which never enforces the setup-disabled guard, so the probe path stays live even on installations where administrators believe setup mode is off. Impact is limited to semi-blind internal reconnaissance: the attacker learns whether a host/port answers the MySQL handshake by reading the differing error messages returned by Validator::testDBConnection(), with low confidentiality impact and no integrity or availability effect. Exploitation is not accidental-territory: it requires the setup directory to be network-reachable, and the high attack complexity and present attack requirements (AC:H/AT:P) mean probing is not trivially reliable; there is no CISA KEV listing and no confirmed active exploitation, though a public research writeup describing the issue exists and is not verified as working exploit code. Severity is medium and the issue is real but not urgent - the vendor has published upstream fixes in commits and a pull request, with a released patched version not independently confirmed in the supplied data.

RemediationAI

Apply the vendor's upstream fix for the setup-controller handling: commit 510e442593af5d4702bbb46cdb45ad51f3a8a9d3, commit 126ac3ac5662ed3171ef3646636348fad3f8e952 and pull request https://github.com/phpmyadmin/phpmyadmin/pull/19156; because these are repository commits and a PR rather than a clearly tagged release, confirm with the project repository or vendor advisory (https://www.vulncheck.com/advisories/phpmyadmin-through-5.2.3-ssrf-via-setup-validate-php-after-setup-disabled) which packaged version carries them before treating an upgrade as complete. Where an immediate upgrade is not possible, the decisive compensating control is reducing reachability of the endpoint, since exploitation requires that setup/validate.php be network-reachable: delete the setup/ directory from the web root after configuration is complete, or, if the installer must stay in place, deny access to the entire setup/ path at the web server (Apache/nginx location or rewrite rules) or restrict it by source IP - trade-off being that legitimate reconfiguration and installer use will then require temporarily re-enabling access. Network egress filtering from the phpMyAdmin host toward internal address ranges and non-application ports also blunts the MySQL-protocol probing primitive but does not remove the flaw and requires an accurate inventory of which database hosts the application legitimately needs. Note that blocking outbound connections alone leaves the unguarded endpoint intact, so it should be layered behind the code fix and the setup-directory removal rather than treated as a substitute.

Affected VersionsENISA

phpMyAdmin 0 ≤5.2.3

Affected Packages

euvd phpmyadmin no fix

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 setup/ directory is a PHP web installer that is intended to be usable only while configuration is being written; the installer ships a guard that is supposed to short-circuit requests once setup has been completed, but setup/validate.php (lines 21-35 of the 5.2.3 release) does not carry that guard. The script's purpose is to validate configuration input submitted by the installer, and it forwards attacker-supplied host and port parameters into Validator::testDBConnection() (libraries/classes/Config/Validator.php around line 241), which performs an actual outbound connection attempt using the MySQL client protocol and reports the result via an error message. Because neither an allowlist nor a destination restriction sits between the POST parameters and the connection routine, the endpoint becomes a request-forgery primitive rooted in CWE-918: it is not a full-read SSRF, since the attacker receives only connect/failure inference rather than arbitrary response bodies, and the transport is constrained to MySQL-protocol negotiation, which narrows what can be fingerprinted. The CVSS 4.0 vector rates network reachability with high attack complexity and present attack requirements and no privileges or user interaction, reflecting that the endpoint must be exposed and the response channel is indirect. The upstream remediation adds dependency-injection service definitions for Setup\MainController, Setup\ShowConfigController and Setup\ValidateController, i.e. it restructures the setup controllers so the disabled-setup guard applies consistently, per commits 510e442593af5d4702bbb46cdb45ad51f3a8a9d3 and 126ac3ac5662ed3171ef3646636348fad3f8e952 and pull request 19156.

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

Vendor (VulnCheck) PRIMARY 6.3 MEDIUM
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
vuln.today AI 3.7 LOW

Unauthenticated network-reachable setup endpoint (PR:N/AV:N), but blind SSRF yielding only error-message-based port inference gives AC:H and C:L with no integrity or availability impact.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N
4.0 AV:N/AC:H/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
High
Attack Requirements
Present
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

phpMyAdmin through 5.2.3 contains a server-side request forgery vulnerability that allows unauthenticated attackers to trigger outbound connections via setup/validate.php, which lacks the setup-disabled guard. Attackers can POST attacker-chosen host and port values reaching Validator::testDBConnection() to open MySQL-protocol connections and probe internal ports using returned error messages.

Threat Intelligence Overview

EPSS Score
0.3%
Top 76% exploitable
Prevalence
High
phpMyAdmin is extremely widely deployed for MySQL administration across web hosting
Data Quality
5 sources
Confidence: Medium

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
High

Priority Score

32
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.

CVE-2016-5734 CRITICAL POC
9.8 Jul 03

phpMyAdmin 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

CVE-2012-5159 HIGH POC
7.5 Sep 25

phpMyAdmin 3.5.2.2, as distributed by the cdnetworks-kr-1 mirror during an unspecified time frame in 2012, contains an e

CVE-2013-3238 MEDIUM POC
6.0 Apr 26

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

CVE-2018-12613 HIGH POC
8.8 Jun 21

An issue was discovered in phpMyAdmin 4.8.x before 4.8.2, in which an attacker can include (view and potentially execute

CVE-2020-22452 CRITICAL POC
9.8 Jan 26

SQL Injection vulnerability in function getTableCreationQuery in CreateAddField.php in phpMyAdmin 5.x before 5.2.0 via t

CVE-2020-26935 CRITICAL POC
9.8 Oct 10

An issue was discovered in SearchController in phpMyAdmin before 4.9.6 and 5.x before 5.0.3. Rated critical severity (CV

CVE-2015-6830 MEDIUM POC
5.0 Sep 14

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

CVE-2020-22278 HIGH POC
8.8 Nov 04

phpMyAdmin through 5.0.2 allows CSV injection via Export Section. Rated high severity (CVSS 8.8), this vulnerability is

CVE-2020-5504 HIGH POC
8.8 Jan 09

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

CVE-2018-10188 HIGH POC
8.8 Apr 19

phpMyAdmin 4.8.0 before 4.8.0-1 has CSRF, allowing an attacker to execute arbitrary SQL statements, related to js/db_ope

CVE-2014-9218 MEDIUM POC
5.0 Dec 08

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

CVE-2012-5469 HIGH POC
7.5 Dec 20

The Portable phpMyAdmin plugin before 1.3.1 for WordPress allows remote attackers to bypass authentication and obtain ph

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy