pgAdmin 4
CVE-2025-12763
HIGH
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAccess pgAdmin backup/restore function
-
DeliverySubmit crafted file path with shell metacharacters
-
Exploitshell=True executes injected OS command
-
ExecutionArbitrary code runs on Windows host
-
ImpactHost compromise / lateral movement
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization OS command sanitization, avoid shell exec
MITRE ATT&CK
2 techniques across 1 tactic: Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Affected deployments are pgAdmin 4 versions up to 9.9 running specifically on Windows; the flaw is not present on non-Windows hosts. Exploitation requires reaching and invoking pgAdmin's backup or restore operation and supplying a maliciously crafted file path, which is processed via shell=True; per UI:R, a user action (initiating the backup/restore) is needed to trigger it. The practical limiting factors are: Windows-only exposure, access to the backup/restore workflow (typically an authenticated pgAdmin session in server mode or a local desktop user), and the need to craft a file path containing shell metacharacters. These constraints materially narrow real-world reach despite the high CVSS score. |
| Impact | Signals are mixed and lean toward a real-but-not-urgent priority. The CVSS 3.1 base score of 8.8 is driven by AV:N/AC:L/PR:N with C:H/I:H/A:H, implying easy unauthenticated network exploitation - but the description tells a more constrained story: the flaw is a CWE-78 command injection triggered only on Windows via shell=True when a crafted file path is supplied during backup/restore operations, which are operator-initiated functions typically reached only after logging into pgAdmin. The vector's PR:N therefore appears optimistic: providing the malicious file path in the backup/restore dialog realistically presupposes access to pgAdmin's management UI, so treat the 'unauthenticated' framing with caution (verify with vendor). Corroborating the lower-urgency read, EPSS is only 0.08% (24th percentile), there is no CISA KEV listing, and no public exploit is referenced, so this is not evidence of mass exploitation. Conversely, impact if triggered is severe (arbitrary OS command execution on the pgAdmin host), and a vendor patch exists, making this a 'patch promptly on Windows installs' item rather than an emergency. Net: high technical impact, platform- and workflow-limited reachability, and low observed exploitation probability. |
| Exploit ScenarioDerived | An attacker with access to a Windows-hosted pgAdmin 4 (≤9.9) instance initiates a database backup or restore and supplies a specially crafted file path; because the operation runs with shell=True, embedded shell metacharacters in the path are executed as OS commands on the pgAdmin host. Given AV:N/UI:R, this could also be staged by inducing an operator to run a backup/restore against an attacker-influenced path. No public exploit is referenced, so exploitation would require custom payload crafting. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv2 – Oct 07, 2026
Command injection in pgAdmin 4 versions up to 9.9 on Windows allows an attacker who can supply a crafted file path to the backup or restore workflow to execute arbitrary operating-system commands with the privileges of the pgAdmin process. The flaw stems from Python's shell=True being passed to the backup/restore command construction, so shell metacharacters embedded in the path are interpreted rather than treated as literal text. Exposure is limited: the defect does not affect Linux or macOS hosts, and triggering it requires reaching pgAdmin's backup/restore feature (typically an authenticated session in server mode, or a local desktop user who opens a malicious path), which our assessment captures as PR:L with a user-driven step. There is no public exploit identified at time of analysis and no CISA KEV listing; EPSS is low at 0.08% (24th percentile), and a vendor patch is available, so the practical risk is real but not urgent.
Earlier versions of this analysis (1)
pgAdmin 4 versions up to 9.9 are affected by a command injection vulnerability on Windows systems. Rated medium severity (CVSS 6.8), this vulnerability is remotely exploitable, low attack complexity. No vendor patch available.
RemediationAI
Patch available per vendor advisory: upgrade pgAdmin 4 to a version later than 9.9 once the fix referenced by the vendor/advisory channel is confirmed for your distribution, and track https://github.com/pgadmin-org/pgadmin4/issues/9323 for the exact fixed build; the input data confirms a vendor patch but does not specify a version number, so verify the release notes before assuming any particular build is patched. Until the upgrade is applied, the most effective compensating control is to reduce the attack surface of the backup/restore workflow: restrict pgAdmin server-mode exposure to trusted networks or place it behind a VPN/allowlist so unauthenticated remote users cannot reach the endpoints at all, and limit who holds accounts that can invoke backup and restore. Where backup/restore must remain available, operate pgAdmin under a least-privileged Windows account so that any injected command runs with minimal rights - the trade-off is that some administrative restores may then fail and would need to be run manually or under an elevated account on a case-by-case basis. Avoid processing file paths supplied by untrusted parties (for example, paths embedded in shared job definitions or links) and prefer selecting paths through the UI from known trusted directories, though this is a workflow discipline rather than a technical guarantee. Because the vulnerability is Windows-specific, migrating the backup/restore automation to a Linux or macOS host removes this vector entirely, at the cost of rebuilding that workflow on a different platform.
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in pypi
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
CWE-78 (OS Command Injection) is the root cause class here: pgAdmin 4's backup and restore routines build command strings for PostgreSQL's pg_dump/pg_restore and pass them to subprocess execution with shell=True instead of an argument list. On Windows this routes the string through cmd.exe, so characters such as &, |, ^, or % in a supplied file path are parsed as command separators or variable expansions, converting a data value into executed commands. The CPE entry cpe:2.3:a:pgadmin:pgadmin_4:*:*:*:*:*:postgresql:*:* identifies the affected package as pgAdmin 4 for the PostgreSQL platform across all versions up to and including 9.9; the Windows-only qualifier is not reflected in that CPE, so CPE-based matching will over-select Linux and macOS installations that are not vulnerable. The issue is a client-side administrative tool weakness rather than a PostgreSQL server flaw: the attacker must interact with pgAdmin's own backup/restore UI or API, meaning the injection point is the file-path parameter of that operation, and successful exploitation yields code execution in the context of the pgAdmin user (which may be an administrator on a Windows workstation).
Know when Pgadmin 4 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
AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Supplying the crafted file path requires access to pgAdmin's backup/restore functionality (PR:L); the injecting user acts directly so UI:N, and shell=True yields full command execution (C/I/A:H).
AV:N/AC:L/PR:H/UI:R/S:U/C:H/I:H/A:H
Primary rating from NVD.
CVSS VectorNVD
Lifecycle Timeline
5DescriptionNVD
pgAdmin 4 versions up to 9.9 are affected by a command injection vulnerability on Windows systems. This issue is caused by the use of shell=True during backup and restore operations, enabling attackers to execute arbitrary system commands by providing specially crafted file path input.
Executive ViewAI
pgAdmin 4 versions up to 9.9 on Windows contain a command injection flaw that lets an authenticated attacker execute arbitrary operating-system commands with the privileges of the pgAdmin process by supplying a crafted file path to the backup or restore workflow. This vulnerability does not affect Linux or macOS hosts, and exploitation requires a user with legitimate access to the backup/restore feature. While no public exploit exists and the EPSS score is low at 0.1%, a vendor patch is available; organizations running pgAdmin on Windows should prioritize patching to prevent potential lateral movement or data compromise.
Apply vendor patch.
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
OS command injection occurs when an application passes unsanitized user input directly into system shell commands.
Affected Products (CPE)NVD
pgAdmin 4 contains critical remote code execution vulnerabilities in the Query Tool download and Cloud Deployment endpoi
pgAdmin <= 8.3 is affected by a path-traversal vulnerability while deserializing users’ sessions in the session handling
pgAdmin <= 8.4 is affected by a Remote Code Execution (RCE) vulnerability through the validate binary path API. Rated cr
Remote unauthenticated access to two SQL Editor endpoints in pgAdmin 4 server-mode deployments (versions 6.9 through 9.1
The pgAdmin server includes an HTTP API that is intended to be used to validate the path a user selects to external Post
pgAdmin versions 8.11 and earlier are vulnerable to a security flaw in OAuth2 authentication. Rated medium severity (CVS
Remote code execution in pgAdmin 4 (versions up to and including 9.9) lets an attacker who can get a crafted PLAIN-forma
Remote SQL injection via prompt injection in pgAdmin 4 versions 9.13 through 9.15 allows attackers who can write content
SQL injection sandbox escape in pgAdmin 4's AI Assistant (versions 9.13 through 9.16) lets an attacker break out of the
OS command injection in pgAdmin 4 (all versions before 9.18) lets an authenticated user with the commonly-granted tools_
Authorization bypass and privilege escalation in pgAdmin 4 server mode allows authenticated users to access other users'
pgAdmin <= 8.5 is affected by XSS vulnerability in /settings/store API response json payload. Rated medium severity (CVS
Same weakness CWE-78 – OS Command Injection
View allSame technique Command Injection
View allVendor StatusVendor
SUSE
Severity: Medium| Product | Status |
|---|---|
| openSUSE Tumbleweed | Fixed |
| SUSE Linux Enterprise Desktop 15 SP7 | Fixed |
| SUSE Linux Enterprise High Performance Computing 15 SP7 | Fixed |
| SUSE Linux Enterprise Module for Python 3 15 SP7 | Fixed |
| SUSE Linux Enterprise Server 15 SP7 | Fixed |
| SUSE Linux Enterprise Server for SAP Applications 15 SP7 | Fixed |
| openSUSE Leap 15.6 | Fixed |
| SUSE Linux Enterprise High Performance Computing 15 SP4 | Fixed |
| SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS | Fixed |
| SUSE Linux Enterprise High Performance Computing 15 SP5 | Fixed |
| SUSE Linux Enterprise High Performance Computing 15 SP5-LTSS | Fixed |
| SUSE Linux Enterprise Module for Python 3 15 SP6 | Fixed |
| SUSE Linux Enterprise Module for Server Applications 15 SP4 | Fixed |
| SUSE Linux Enterprise Module for Server Applications 15 SP5 | Fixed |
| SUSE Linux Enterprise Server 15 SP4 | Fixed |
| SUSE Linux Enterprise Server 15 SP4-LTSS | Fixed |
| SUSE Linux Enterprise Server 15 SP5 | Fixed |
| SUSE Linux Enterprise Server 15 SP5-LTSS | Fixed |
| SUSE Linux Enterprise Server 15 SP6 | Fixed |
| SUSE Linux Enterprise Server 15 SP6-LTSS | Fixed |
| SUSE Linux Enterprise Server for SAP Applications 15 SP6 | Fixed |
| SUSE Manager Proxy 4.3 | Fixed |
| SUSE Manager Proxy LTS 4.3 | Fixed |
| SUSE Manager Retail Branch Server 4.3 | Fixed |
| SUSE Manager Retail Branch Server LTS 4.3 | Fixed |
| SUSE Manager Server 4.3 | Fixed |
| SUSE Manager Server LTS 4.3 | Fixed |
| SUSE CaaS Platform 4.0 | Fixed |
| SUSE Enterprise Storage 6 | Fixed |
| SUSE Enterprise Storage 7 | Fixed |
| SUSE Enterprise Storage 7.1 | Fixed |
| SUSE Linux Enterprise Desktop 15 SP6 | Fixed |
| SUSE Linux Enterprise High Performance Computing 15 SP1 | Fixed |
| SUSE Linux Enterprise High Performance Computing 15 SP1-ESPOS | Fixed |
| SUSE Linux Enterprise High Performance Computing 15 SP1-LTSS | Fixed |
| SUSE Linux Enterprise High Performance Computing 15 SP2 | Fixed |
| SUSE Linux Enterprise High Performance Computing 15 SP2-ESPOS | Fixed |
| SUSE Linux Enterprise High Performance Computing 15 SP2-LTSS | Fixed |
| SUSE Linux Enterprise High Performance Computing 15 SP3 | Fixed |
| SUSE Linux Enterprise High Performance Computing 15 SP3-ESPOS | Fixed |
| SUSE Linux Enterprise High Performance Computing 15 SP3-LTSS | Fixed |
| SUSE Linux Enterprise High Performance Computing 15 SP4-ESPOS | Fixed |
| SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS | Fixed |
| SUSE Linux Enterprise High Performance Computing 15 SP6 | Fixed |
| SUSE Linux Enterprise Module for Server Applications 15 SP1 | Fixed |
| SUSE Linux Enterprise Module for Server Applications 15 SP2 | Fixed |
| SUSE Linux Enterprise Module for Server Applications 15 SP3 | Fixed |
| SUSE Linux Enterprise Real Time 15 SP2 | Fixed |
| SUSE Linux Enterprise Real Time 15 SP3 | Fixed |
| SUSE Linux Enterprise Real Time 15 SP4 | Fixed |
| SUSE Linux Enterprise Server 15 SP1 | Fixed |
| SUSE Linux Enterprise Server 15 SP1-BCL | Fixed |
| SUSE Linux Enterprise Server 15 SP1-LTSS | Fixed |
| SUSE Linux Enterprise Server 15 SP2 | Fixed |
| SUSE Linux Enterprise Server 15 SP2-BCL | Fixed |
| SUSE Linux Enterprise Server 15 SP2-LTSS | Fixed |
| SUSE Linux Enterprise Server 15 SP3 | Fixed |
| SUSE Linux Enterprise Server 15 SP3-BCL | Fixed |
| SUSE Linux Enterprise Server 15 SP3-LTSS | Fixed |
| SUSE Linux Enterprise Server for SAP Applications 15 SP1 | Fixed |
| SUSE Linux Enterprise Server for SAP Applications 15 SP2 | Fixed |
| SUSE Linux Enterprise Server for SAP Applications 15 SP3 | Fixed |
| SUSE Linux Enterprise Server for SAP Applications 15 SP4 | Fixed |
| SUSE Linux Enterprise Server for SAP Applications 15 SP5 | Fixed |
| SUSE Manager Proxy 4.0 | Fixed |
| SUSE Manager Proxy 4.1 | Fixed |
| SUSE Manager Proxy 4.2 | Fixed |
| SUSE Manager Retail Branch Server 4.0 | Fixed |
| SUSE Manager Retail Branch Server 4.1 | Fixed |
| SUSE Manager Retail Branch Server 4.2 | Fixed |
| SUSE Manager Server 4.0 | Fixed |
| SUSE Manager Server 4.1 | Fixed |
| SUSE Manager Server 4.2 | Fixed |
| openSUSE Leap 15.3 | Fixed |
| openSUSE Leap 15.4 | Fixed |
| openSUSE Leap 15.5 | Fixed |
NVD
CVE.org
EPSS
GitHub
Exploit-DB