CVE intelligence and bounded remediation

CVE-2026-12046 — Pgadmin Pgadmin 4 security vulnerability

Critical CVSS 9.5

Two state-mutating endpoints in pgAdmin 4's SQL Editor blueprint -- DELETE /sqleditor/close/<trans_id> and POST /sqleditor/initialize/sqleditor/update_connection/<sgid>/<sid>/<did> -- were the only routes in the module missing the @pga_login_required decorator. Both reach a pickle.loads sink on session['gridData'][<trans_id>]['command_obj']: the close endpoint via close_sqleditor_session(), and update_sqleditor_connection via check_transaction_status(). In server mode these endpoints were reachable without any authenticated pgAdmin session. The defect is a missing-authentication-on-critical-function (CWE-306) wrapper around a deserialization-of-untrusted-data sink (CWE-502). Exploiting it for remote code execution requires the attacker to also forge a server-side session file whose gridData entry contains a malicious pickle payload, which in turn requires both (a) knowledge of pgAdmin's Flask SECRET_KEY (no chain to leak it is described here -- the attacker must already possess it) and (b) write access to pgAdmin's sessions/ directory on the host. Neither precondition is granted by this defect on its own. When those preconditions are met from another channel (misconfigured deploym…

Severity
Critical
CVSS
9.5 (4.0)
Published
2026-06-19
CISA KEV
Not currently listed
Ecosystem
software/application
Weaknesses
CWE-306, CWE-502

Affected products

  • pgadmin / pgadmin_4

Matched remediation archetype

Unsafe deserialization and object reconstruction

This catalog composition supplies bounded fallback guidance. Explicitly reviewed curated workflows load with the complete record below.

Check exposure

  • Inventory serialization formats accepted from requests, queues, caches, files, cookies, and cross-service messages.
  • Trace whether untrusted input can select classes, types, callbacks, constructors, or object hooks during decoding.
  • Identify signing, schema validation, trust-boundary, and compatibility settings for each decoder.

Remediate safely

  • Replace native object deserialization with a data-only format and explicit schema validation.
  • If replacement is not immediate, use a safe decoder with a minimal type allowlist and disable polymorphic or executable hooks.
  • Update the affected library and add inert tests for unknown types, extra fields, malformed nesting, and unsigned data.

Authoritative sources

Complete CVE record and remediation plan

The detailed catalog view below loads this exact record, its source evidence, and the full seven-phase agentic change plan.