Live Exposure Defense: From CVE to Confirmed Exposure in 12 Hours – See more

New CVE Detected

CVE-2026-12046 – Unauthenticated RCE via Pickle Deserialization – pgAdmin 4 (versions 6.9–9.15)

Be the first to know when new zero-days emerge:

Summary

CVE-2026-12046 is a critical vulnerability in pgAdmin 4 (server mode) combining missing authentication on a critical function (CWE-306) with unsafe Python pickle deserialization (CWE-502), affecting all releases from version 6.9 up to, but not including, 9.16. Two SQL Editor endpoints were the only routes in the module lacking the @pga_login_required decorator, making them reachable by unauthenticated HTTP requests that flow directly into a pickle.loads deserialization sink. When additional attacker-controlled preconditions are satisfied, this flaw can be leveraged to achieve remote code execution on the host running pgAdmin. pgAdmin 4 version 9.16, released June 18, 2026, contains the fix.

Technical details

  • Root cause: Two SQL Editor blueprint endpoints — DELETE /sqleditor/close/<trans_id> and POST /sqleditor/initialize/sqleditor/update_connection/<sgid>/<sid>/<did> — were the only routes in the SQL Editor module missing the @pga_login_required decorator. In server mode, this meant both endpoints could be exercised without any authenticated pgAdmin session.
  • Deserialization sink: Both endpoints reach a pickle.loads call operating on session['gridData'][<trans_id>]['command_obj'] — via close_sqleditor_session() and check_transaction_status() respectively. An attacker-supplied pickle payload at that location can deserialize into arbitrary Python objects, enabling code execution within the pgAdmin process.
  • Attack vector: Remote, over HTTP/HTTPS. No credentials or prior authentication are required to reach the vulnerable endpoints.
  • Exploitation preconditions: Achieving full RCE also requires the attacker to possess (a) knowledge of the application’s Flask SECRET_KEY, and (b) write access to pgAdmin’s sessions/ directory on the host. Neither precondition is granted by this defect on its own; they must be obtained through a separate channel such as an exposed configuration file, a misconfigured deployment, or a prior partial compromise. The CVSS High Attack Complexity (AC:H) reflects these requirements.
  • Impact when preconditions are met: The missing authentication gate is the final step that elevates an existing partial compromise to unauthenticated code execution in the pgAdmin process and, by extension, on the host under the account running pgAdmin. The CVSS Scope is Changed (S:C), indicating the impact extends beyond the pgAdmin application boundary.
  • Desktop mode unaffected: The vulnerability is server mode only. In Desktop mode, pgAdmin’s before_request hook re-authenticates DESKTOP_USER on every request, so no endpoint can be exercised unauthenticated regardless of decorator presence.
  • Fix: Addition of the @pga_login_required decorator to each of the two affected endpoints in web/pgadmin/tools/sqleditor/__init__.py, ensuring the authentication and MFA chain executes before any session data is accessed or deserialized.

Affected software

  • pgAdmin 4 versions 6.9 through 9.15 (all releases from 6.9 up to, but not including, 9.16)

Severity

  • CVSS v3.1 Base Score: 9.0 (Critical)
  • Vector string: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H
  • CWE-306: Missing Authentication for Critical Function
  • CWE-502: Deserialization of Untrusted Data

Mitigation and recommended actions

  • Immediate: Upgrade to pgAdmin 4 version 9.16 (released June 18, 2026), which applies the @pga_login_required decorator to both affected SQL Editor endpoints.
  • If immediate patching is not feasible: Restrict network-level access to the pgAdmin 4 server interface so it is not reachable from untrusted or public networks. pgAdmin 4 server mode should never be directly internet-exposed without a strict access control layer in front of it.
  • Additional hardening: Ensure the Flask SECRET_KEY is set to a strong, unique, non-default value and is not stored in any location accessible to unauthorized parties, as exposure of that key is one of the preconditions for full exploit.

IONIX Status

The IONIX research team is tracking ongoing exploitation attempts and recommends immediate patching. Potentially affected assets are outlined in this post.

References

Are you exposed?

Get a free report of your organization’s exposure to this CVE and threat

How IONIX’s External Exposure Management Platform Detects and Validates
Zero-Days to Shrink MTTR

1

Map your entire attack surface (continously)

IONIX uses multi-factor discovery methods, including DNS analysis, certificate mapping, metadata inspection, and more, to automatically map every internet-facing asset across your environment. This includes cloud instances, third-party platforms, shadow IT, and even forgotten infrastructure that traditional tools miss.

2

Monitor for new CVEs

Dozens of threat intel feeds using agentic technology are continuously analyzed to detect the appearance of proof-of-concept code, exploit kits, and indicators of active targeting. IONIX goes further by applying AI to proactively evaluate whether emerging vulnerabilities are likely to be exploited, even before PoCs go public.

3

Identify Potential External Exposures

Not all CVEs matter. IONIX filters vulnerabilities by asking attacker-centric questions: Can it be reached from the internet? Does it require authentication? Is it being exploited in the wild? This dramatically reduces noise and focuses teams on threats that can actually be weaponized.

4

Create Safe, Scalable Exploit Validations

IONIX transforms real-world PoCs into safe, non-intrusive test payloads that can be run in production environments without disruption. These simulations are precisely targeted to the systems that are vulnerable, ensuring rapid validation without unnecessary load.

5

Execute Exploit Validations

By combining context about software stack, versioning, exposure status, and reachability, IONIX ensures that only the right payloads are executed against the right assets, maximizing efficiency and minimizing risk.

6

Drive Fast and Actionable Remediation

Results are routed through integrations with ticketing, SOAR, and SIEM tools. Issues are written in plain language, bundled into remediation clusters, and prioritized based on asset criticality, exploitability, and blast radius. This shortens mean time to remediation (MTTR) and empowers teams to act with confidence.

Are you exposed?

Get a free report of your organization’s exposure to this CVE and threat

Subscribe to Threat Center RSS

Copy/paste the link below into your preferred RSS reader or follow these instructions to subscribe to Slack alerts.

Get Real-Time CVE Alerts to Your Email

Be the first to know when new zero-days emerge