Description
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.
Published: 2026-07-31
Score: 6.9 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

pgAdmin 4 in SERVER mode mistakenly exposes several REST endpoints without requiring the @pga_login_required decorator, allowing any network user to reach these routes. The affected endpoints let an unauthenticated client enumerate table constraints, delete constraints, read command‑line preference values, and abruptly terminate active debugger or schema‑diff sessions. As a result, an attacker can modify database schema metadata, leak configuration data, and disrupt user sessions without providing credentials, effectively gaining unauthorized control over those privileged operations.

Affected Systems

The vulnerability is present in pgAdmin 4 server deployments running any release prior to 9.17. The specific routes impacted are the Constraints blueprint (nodes, proplist, and delete), the preferences.get_all_cli endpoint, the debugger.close endpoint, and the schema_diff.close endpoint. These endpoints exist across pgAdmin 4 versions 1.0, 4.18, 8.2 and earlier, regardless of the installed database version, because the missing decorator logic is a code‑level oversight.

Risk and Exploitability

With a CVSS score of 6.9, the vulnerability is considered moderate. The EPSS score is listed as less than 1 %, indicating a very low probability of exploitation seen in the wild. The attack requires lateral or direct network access to the pgAdmin 4 server and does not rely on any authenticated session. Despite the low exploitation likelihood, the lack of authentication for these operations means that a present user could perform destructive changes without any credentials, and the absence of a KEV listing implies no known large‑scale campaigns yet.

Generated by OpenCVE AI on August 2, 2026 at 04:08 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade pgAdmin 4 to release 9.17 or later, which adds the missing @pga_login_required decorator to all affected endpoints.
  • If an immediate upgrade is infeasible, restrict network exposure of the pgAdmin 4 SERVER mode interface by firewalling or network segmentation so that only trusted hosts can reach the web service.
  • Implement monitoring or intrusion detection to alert on repeated unauthenticated access attempts against the Constraints, preferences, debugger, or schema‑diff endpoints.

Generated by OpenCVE AI on August 2, 2026 at 04:08 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sun, 02 Aug 2026 19:30:00 +0000

Type Values Removed Values Added
First Time appeared Pgadmin
Pgadmin pgadmin 4
Vendors & Products Pgadmin
Pgadmin pgadmin 4

Sat, 01 Aug 2026 00:15:00 +0000

Type Values Removed Values Added
References
Metrics threat_severity

None

threat_severity

Moderate


Fri, 31 Jul 2026 18:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Fri, 31 Jul 2026 16:15:00 +0000

Type Values Removed Values Added
Description 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.
Title pgAdmin 4: Missing authentication decorator on Constraints, preferences, Debugger and Schema Diff routes allows unauthenticated access in SERVER mode (incomplete fix for CVE-2026-12046)
Weaknesses CWE-306
References
Metrics cvssV3_1

{'score': 6.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L'}

cvssV4_0

{'score': 6.9, 'vector': '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'}


Subscriptions

Pgadmin Pgadmin 4
cve-icon MITRE

Status: PUBLISHED

Assigner: PostgreSQL

Published:

Updated: 2026-07-31T17:23:08.497Z

Reserved: 2026-07-25T02:52:55.455Z

Link: CVE-2026-17348

cve-icon Vulnrichment

Updated: 2026-07-31T17:23:00.482Z

cve-icon NVD

Status : Analyzed

Published: 2026-07-31T16:16:59.287

Modified: 2026-08-05T20:21:02.190

Link: CVE-2026-17348

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-07-31T15:59:18Z

Links: CVE-2026-17348 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-02T19:15:17Z

Weaknesses
  • CWE-306

    Missing Authentication for Critical Function