Skip to main content

pgAdmin 4 CVE-2026-17348

| EUVDEUVD-2026-51561 MEDIUM
Missing Authentication for Critical Function (CWE-306)
2026-07-31 f86ef6dc-4d3a-42ad-8f28-e6d5547a5007 GHSA-rm8j-fq8g-rcjc
6.9
CVSS 4.0 · Vendor: f86ef6dc-4d3a-42ad-8f28-e6d5547a5007
Share

Severity by source

Vendor (f86ef6dc-4d3a-42ad-8f28-e6d5547a5007) PRIMARY
6.9 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
vuln.today AI
7.3 HIGH

AV:N and PR:N confirmed by CVSS 4.0 vector; C:L added for preference disclosure not captured in provided VC:N; I:L for constraint deletion; A:L for session disruption.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N
SUSE
6.5 MEDIUM
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L
Red Hat
6.5 MEDIUM
qualitative

Primary rating from Vendor (f86ef6dc-4d3a-42ad-8f28-e6d5547a5007).

CVSS VectorVendor: f86ef6dc-4d3a-42ad-8f28-e6d5547a5007

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
X

Lifecycle Timeline

3
Patch available
Jul 31, 2026 - 17:01 EUVD
Source Code Evidence Fetched
Jul 31, 2026 - 16:41 vuln.today
Analysis Generated
Jul 31, 2026 - 16:41 vuln.today

DescriptionCVE.org

In SERVER mode, pgAdmin 4 enforces authentication per route via the @pga_login_required decorator; the application's before_request hook only handles desktop-mode auto-login and the Kerberos/Webserver-auth redirect, so any route shipped without the decorator is reachable without authentication (CWE-306). This is the same defect class previously fixed as CVE-2026-12046 (the sqleditor close/update_connection routes).

A follow-up sweep, prompted by a report describing an incomplete fix for CVE-2026-12046, found further routes missing @pga_login_required: the Constraints blueprint's nodes and proplist (object listing) routes and its delete route (a state-mutating DELETE that removes table constraints); preferences.get_all_cli (GET, discloses all CLI-settable preference values); debugger.close (DELETE); and schema_diff.close (DELETE). An unauthenticated network client could therefore enumerate constraint metadata, delete table constraints, read preference values, and force-close debugger or schema-diff sessions belonging to other users, without ever authenticating.

Fix adds the missing @pga_login_required decorator (and the corresponding import to the Constraints module) to each of these routes. The change is decorator-only; no behavioral changes to the underlying handlers.

This issue affects pgAdmin 4 in SERVER mode: the Constraints and Debugger routes from 1.0, the Schema Diff close route from 4.18, and preferences.get_all_cli from 8.2, all before 9.17.

AnalysisAI

Authentication bypass in pgAdmin 4 SERVER mode exposes multiple routes to unauthenticated network access due to missing @pga_login_required decorators, a defect class previously identified in CVE-2026-12046 but incompletely remediated. Unauthenticated remote clients can enumerate table constraint metadata, delete table constraints (a state-mutating operation), read all CLI-settable preference values, and force-close active debugger or schema-diff sessions belonging to other authenticated users. The CVSS 4.0 vector (PR:N, AV:N, AC:L) confirms no authentication or special conditions are required in SERVER mode deployments; no public exploit or CISA KEV listing has been identified at time of analysis.

Technical ContextAI

pgAdmin 4 is a Python/Flask-based web application for PostgreSQL database administration. In SERVER mode it operates as a multi-user web server requiring authentication, enforced per-route through the @pga_login_required decorator from pgadmin.user_login_check. The application's before_request hook only handles desktop-mode auto-login and Kerberos/Webserver-auth redirects and does not serve as a global authentication gate, meaning any route omitting the decorator is reachable without authentication. CWE-306 (Missing Authentication for Critical Function) is the root cause: the Flask blueprint registration for the Constraints module lacked the import of pga_login_required entirely, and multiple tools (debugger, schema_diff, preferences) shipped routes without the decorator. Affected routes span several feature areas introduced at different release milestones: Constraints nodes/proplist/delete from version 1.0, schema_diff.close from 4.18, and preferences.get_all_cli from 8.2.

RemediationAI

Upgrade pgAdmin 4 to version 9.17 or later, which adds the @pga_login_required decorator to all affected routes via a decorator-only patch with no behavioral changes to the underlying handlers (commit 24fdcf0f58591c87ada31366c01e1af180eceb05). If immediate upgrade is not possible, restrict network access to the pgAdmin SERVER mode instance using firewall rules or a reverse proxy with authentication enforcement (e.g., HTTP Basic Auth at the proxy layer) to prevent unauthenticated clients from reaching any pgAdmin route. Placing pgAdmin behind a VPN or restricting source IPs to trusted administrator networks eliminates the network-reachable attack surface entirely, though this does not fix the underlying decorator absence. Disabling the Debugger and Schema Diff tools via pgAdmin server configuration reduces the attack surface for those specific routes if the constraint and preferences routes are the primary concern. Consult the GitHub issue for additional context: https://github.com/pgadmin-org/pgadmin4/issues/10194.

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-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-2026-12046 CRITICAL
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-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
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

CVE-2026-12048 CRITICAL
9.3 Jun 18

Stored cross-site scripting in pgAdmin 4 versions 6.0 through 9.15 allows a malicious or attacker-influenced PostgreSQL

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise High Performance Computing 15 SP7 Affected
SUSE Linux Enterprise Module for Python 3 15 SP7 Affected
SUSE Linux Enterprise Server 15 SP7 Affected
SUSE Linux Enterprise Server for SAP Applications 15 SP7 Affected

Share

CVE-2026-17348 vulnerability details – vuln.today

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