Pgadmin
Don't miss out!
Thousands of developers use stack.watch to stay informed.Get an email whenever new security vulnerabilities are reported in Pgadmin.
By the Year
In 2026 there have been 1 vulnerability in Pgadmin with an average score of 8.8 out of ten. Last year, in 2025 Pgadmin had 6 security vulnerabilities published. Right now, Pgadmin is on track to have less security vulnerabilities in 2026 than it did last year. However, the average CVE base score of the vulnerabilities in 2026 is greater by 0.75.
| Year | Vulnerabilities | Average Score |
|---|---|---|
| 2026 | 1 | 8.80 |
| 2025 | 6 | 8.05 |
| 2024 | 4 | 9.80 |
| 2023 | 2 | 7.45 |
| 2022 | 1 | 8.80 |
It may take a day or so for new Pgadmin vulnerabilities to show up in the stats or in the list of recent security vulnerabilities. Additionally vulnerabilities may be tagged under a different product or component name.
Recent Pgadmin Security Vulnerabilities
pgAdmin 4 9.16 SQLi via unescaped template literals
CVE-2026-17346
8.8 - High
- July 31, 2026
The fix for CVE-2026-12044 in pgAdmin 4 9.16 hardened qtLiteral and switched sixteen COMMENT ON / pgstattuple / pgstatindex templates to it, but missed several sinks that had been placed in test_sql_string_literal_lint.py's ALLOWLIST on the incorrect assumption that schema, table, publication, and subscription names sourced from pg_catalog via the browser tree could never contain an apostrophe. PostgreSQL permits arbitrary characters in quoted identifiers, so a low-privileged user able to CREATE TABLE, CREATE PUBLICATION, or CREATE SUBSCRIPTION can plant an apostrophe'd object name that breaks out of the unescaped '{{ name }}' template interpolation the moment any user (including a higher-privileged one) opens that object's Statistics or Dependencies tab, allowing arbitrary SQL statement injection in the viewing user's database session. Affected sinks: the Index Statistics query for all-indexes listing (coll_stats.sql, both the 16_plus and default PostgreSQL-version template variants -- distinct from the single-index stats.sql path already fixed in CVE-2026-12044), and the publication and subscription dependencies.sql / get_position.sql templates (both the pg and ppas/EPAS dialect variants for publications). Fix switches all of these templates to qtLiteral(conn) for name interpolation, and updates publications/__init__.py and subscriptions/__init__.py to pass conn=self.conn into the dependencies.sql render_template call so the qtLiteral filter has a connection to quote against. The corresponding ALLOWLIST entries in test_sql_string_literal_lint.py are removed now that these sinks are properly escaped rather than merely assumed safe. A behavioral regression test renders each fixed template with a stacked-statement apostrophe payload and asserts both that the object name appears exactly as qtLiteral-escaped and that the rendered SQL parses as exactly one statement, verifying the assertion genuinely fails against the pre-patch raw-interpolation form. This issue affects pgAdmin 4: the Index Statistics sink from 1.0, and the Publications/Subscriptions sinks from 5.0, both before 9.17.
SQL Injection
LDAP Auth Bypass TLS Cert Verify in pgAdmin <= 9.9
CVE-2025-12765
7.5 - High
- November 13, 2025
pgAdmin <= 9.9 is affected by a vulnerability in the LDAP authentication mechanism allows bypassing TLS certificate verification.
Improper Certificate Validation
pgAdmin LDAP Injection (<=9.9) Enables DOS via User Input
CVE-2025-12764
7.5 - High
- November 13, 2025
pgAdmin <= 9.9 is affected by an LDAP injection vulnerability in the LDAP authentication flow that allows an attacker to inject special LDAP characters in the username, causing the DC/LDAP server and the client to process an unusual amount of data DOS.
LDAP Injection
pgAdmin 4 <=9.9 CMD injection via shell=True in backup/restore CVE-2025-12763
CVE-2025-12763
6.8 - Medium
- November 13, 2025
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.
Shell injection
pgAdmin RCE via ServerMode Restore up to v9.9
CVE-2025-12762
9.1 - Critical
- November 13, 2025
pgAdmin versions up to 9.9 are affected by a Remote Code Execution (RCE) vulnerability that occurs when running in server mode and performing restores from PLAIN-format dump files. This issue allows attackers to inject and execute arbitrary commands on the server hosting pgAdmin, posing a critical risk to the integrity and security of the database management system and underlying data.
Code Injection
CVE-2025-2945 RCE via eval() in pgAdmin 4 Query Tool & Cloud Deploy (<9.2)
CVE-2025-2945
9.9 - Critical
- April 03, 2025
Remote Code Execution security vulnerability in pgAdmin 4 (Query Tool and Cloud Deployment modules). The vulnerability is associated with the 2 POST endpoints; /sqleditor/query_tool/download, where the query_commited parameter and /cloud/deploy endpoint, where the high_availability parameter is unsafely passed to the Python eval() function, allowing arbitrary code execution. This issue affects pgAdmin 4: before 9.2.
Code Injection
Session Hijack via LDAP Auth in pgAdmin Server Mode
CVE-2023-1907
7.5 - High
- January 09, 2025
A vulnerability was found in pgadmin. Users logging into pgAdmin running in server mode using LDAP authentication may be attached to another user's session if multiple connection attempts occur simultaneously.
Exposure of Data Element to Wrong Session
pgAdmin OAuth2 flaw: pre8.11 client ID/secret leak
CVE-2024-9014
- September 23, 2024
pgAdmin versions 8.11 and earlier are vulnerable to a security flaw in OAuth2 authentication. This vulnerability allows an attacker to potentially obtain the client ID and secret, leading to unauthorized access to user data.
pgAdmin <=8.5 MFA Bypass (Unenrolled Accounts Authenticated)
CVE-2024-4215
- May 02, 2024
pgAdmin <= 8.5 is affected by a multi-factor authentication bypass vulnerability. This vulnerability allows an attacker with knowledge of a legitimate accounts username and password may authenticate to the application and perform sensitive actions within the application, such as managing files and executing SQL queries, regardless of the accounts MFA enrollment status.
RCE via validate binary path API in pgAdmin <=8.4
CVE-2024-3116
9.8 - Critical
- April 04, 2024
pgAdmin <= 8.4 is affected by a Remote Code Execution (RCE) vulnerability through the validate binary path API. This vulnerability allows attackers to execute arbitrary code on the server hosting PGAdmin, posing a severe risk to the database management system's integrity and the security of the underlying data.
pgAdmin <=8.3 Path-Traversal via Session Deserialization
CVE-2024-2044
- March 07, 2024
pgAdmin <= 8.3 is affected by a path-traversal vulnerability while deserializing users sessions in the session handling code. If the server is running on Windows, an unauthenticated attacker can load and deserialize remote pickle objects and gain code execution. If the server is running on POSIX/Linux, an authenticated attacker can upload pickle objects, deserialize them, and gain code execution.
pgAdmin Arbitrary Command Execution via HTTP API path validation flaw before 7.6
CVE-2023-5002
8.8 - High
- September 22, 2023
A flaw was found in pgAdmin. This issue occurs when the pgAdmin server HTTP API validates the path a user selects to external PostgreSQL utilities such as pg_dump and pg_restore. Versions of pgAdmin prior to 7.6 failed to properly control the server code executed on this API, allowing an authenticated user to run arbitrary commands on the server.
pgAdmin 4 v<6.14 Open Redirect CVE-2023-22298
CVE-2023-22298
6.1 - Medium
- January 17, 2023
Open redirect vulnerability in pgAdmin 4 versions prior to v6.14 allows a remote unauthenticated attacker to redirect a user to an arbitrary web site and conduct a phishing attack by having a user to access a specially crafted URL.
Open Redirect
Unauthenticated API Hijack in pgAdmin <6.17 via Path Execution
CVE-2022-4223
8.8 - High
- December 13, 2022
The pgAdmin server includes an HTTP API that is intended to be used to validate the path a user selects to external PostgreSQL utilities such as pg_dump and pg_restore. The utility is executed by the server to determine what PostgreSQL version it is from. Versions of pgAdmin prior to 6.17 failed to properly secure this API, which could allow an unauthenticated user to call it with a path of their choosing, such as a UNC path to a server they control on a Windows machine. This would cause an appropriately named executable in the target path to be executed by the pgAdmin server.
AuthZ