CVE-2026-12046

CRITICALPre-NVD 9.09.0
EchelonGraph scoreHIGH confidence

Score 9.0 from GitHub Security Advisory (severity: CRITICAL) published 2026-06-19. a secondary CVSS source baseline 9.0; sources differ by 0.0.

Triggered by: GitHub Security Advisory CVSS
Sources: epss, ghsa, secondary
Trending — 3 sources updated this week
9.0
EchelonGraph verdictPlan a fixSerious severity, but no confirmed exploitation yet.
  • High severity, but no confirmed exploitation yet
CISA-KEV: Not listedEPSS: 1%CVSS: 9.0Exploit: NoneExposed: 0

No vendor fix yet — apply a workaround or compensating control (WAF / firewall / segmentation) and watch for a patch.

Two state-mutating endpoints in pgAdmin 4's SQL Editor blueprint -- DELETE /sqleditor/close/ and POST /sqleditor/initialize/sqleditor/update_connection/// -- were the only routes in the module missing the @pga_login_required decorator. Both reach a pickle.loads sink on session['gridData'][]['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 deployment, prior compromise, leaked configuration), the missing auth gate is the final hop that turns an existing partial compromise into unauthenticated code execution in the pgAdmin process -- and, by extension, on the host under whatever account runs pgAdmin.

Fix is a one-line @pga_login_required decorator on each of the two endpoints, matching the convention used by every other route in the module. The is_authenticated / MFA chain now runs before the trans_id is dereferenced, so an unauthenticated request is rejected before reaching the deserialization path.

The defect 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 in an unauthenticated state and no auth decorator (or its absence) is meaningful. The accompanying regression test mirrors the attacker's path -- harvests an X-pgA-CSRFToken from GET /login and replays it against both endpoints -- and self-skips outside server mode for that reason; it is wired into the existing server-mode CI workflow alongside the data-isolation tests.

This issue affects pgAdmin 4: from 6.9 before 9.16.

CVSS v3
9.0
EG Score
9.0(high)
EPSS
49.1%
KEV
Not listed

Published

June 19, 2026

Last Modified

July 1, 2026

Advisory Details (2)

Auto-updated Jun 22, 2026
Upstream fix merged — awaiting tagged release. Sources: github_commit.
generic

Missing authentication on SQL Editor session endpoints exposes pickle deserialization (CVE-2026-12046) · Issue #10072 · pgadmin-org/pgadmin4 · GitHub

https://github.com/pgadmin-org/pgadmin4/issues/10072
github_commit

commit f81433ae2f99 (pgadmin-org/pgadmin4)

Fix landed in pgadmin-org/pgadmin4 commit f81433ae2f99 — awaiting tagged release

https://github.com/pgadmin-org/pgadmin4/commit/f81433ae2f998f95bb17f27f53b4e99ebcc1df9c

Vendor Advisories for CVE-2026-12046(1)

These vendors published their own advisory mentioning this CVE — often with vendor-specific remediation steps + affected product lists not in NVD.

Weakness Classification(2)

MITRE Common Weakness Enumeration — the root-cause categories this CVE belongs to.

Data Freshness Timeline

(refreshed 92× in last 7d / 237× in last 30d)

Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.

Showing the most recent 100 of 237 total refreshes for this CVE.

  1. 2026-07-07 07:02 UTCEG score recompute
  2. 2026-07-07 07:02 UTCGHSA enrichment
  3. 2026-07-07 02:51 UTCEG score recompute
  4. 2026-07-07 02:51 UTCGHSA enrichment
  5. 2026-07-06 22:56 UTCEG score recompute
  6. 2026-07-06 22:56 UTCGHSA enrichment
  7. 2026-07-06 19:01 UTCEG score recompute
  8. 2026-07-06 19:00 UTCGHSA enrichment
  9. 2026-07-06 16:27 UTCEPSS rescore
  10. 2026-07-06 13:51 UTCEG score recompute
  11. 2026-07-06 13:51 UTCGHSA enrichment
  12. 2026-07-06 09:38 UTCEG score recompute
  13. 2026-07-06 09:38 UTCGHSA enrichment
  14. 2026-07-06 05:07 UTCEG score recompute
  15. 2026-07-06 05:07 UTCGHSA enrichment
  16. 2026-07-06 02:23 UTCEPSS rescore
  17. 2026-07-06 01:11 UTCEG score recompute
  18. 2026-07-06 01:10 UTCGHSA enrichment
  19. 2026-07-05 21:15 UTCEG score recompute
  20. 2026-07-05 21:15 UTCGHSA enrichment
  21. 2026-07-05 17:20 UTCEG score recompute
  22. 2026-07-05 17:20 UTCGHSA enrichment
  23. 2026-07-05 13:24 UTCEG score recompute
  24. 2026-07-05 13:24 UTCGHSA enrichment
  25. 2026-07-05 09:29 UTCEG score recompute
Show 75 more
  1. 2026-07-05 09:29 UTCGHSA enrichment
  2. 2026-07-05 05:34 UTCEG score recompute
  3. 2026-07-05 05:34 UTCGHSA enrichment
  4. 2026-07-05 02:30 UTCEPSS rescore
  5. 2026-07-05 02:30 UTCEPSS rescore
  6. 2026-07-05 00:44 UTCEG score recompute
  7. 2026-07-05 00:44 UTCGHSA enrichment
  8. 2026-07-04 20:48 UTCEG score recompute
  9. 2026-07-04 20:48 UTCGHSA enrichment
  10. 2026-07-04 16:53 UTCEG score recompute
  11. 2026-07-04 16:53 UTCGHSA enrichment
  12. 2026-07-04 12:34 UTCEG score recompute
  13. 2026-07-04 12:34 UTCGHSA enrichment
  14. 2026-07-04 08:39 UTCEG score recompute
  15. 2026-07-04 08:39 UTCGHSA enrichment
  16. 2026-07-04 06:31 UTCEPSS rescore
  17. 2026-07-04 04:44 UTCEG score recompute
  18. 2026-07-04 04:44 UTCGHSA enrichment
  19. 2026-07-04 00:49 UTCEG score recompute
  20. 2026-07-04 00:49 UTCGHSA enrichment
  21. 2026-07-03 20:52 UTCEG score recompute
  22. 2026-07-03 20:52 UTCGHSA enrichment
  23. 2026-07-03 16:57 UTCEG score recompute
  24. 2026-07-03 16:57 UTCGHSA enrichment
  25. 2026-07-03 13:01 UTCEG score recompute
  26. 2026-07-03 13:01 UTCGHSA enrichment
  27. 2026-07-03 08:29 UTCEG score recompute
  28. 2026-07-03 08:29 UTCGHSA enrichment
  29. 2026-07-03 04:34 UTCEG score recompute
  30. 2026-07-03 04:33 UTCGHSA enrichment
  31. 2026-07-03 00:28 UTCEG score recompute
  32. 2026-07-03 00:28 UTCGHSA enrichment
  33. 2026-07-02 20:32 UTCEG score recompute
  34. 2026-07-02 20:32 UTCGHSA enrichment
  35. 2026-07-02 16:36 UTCEG score recompute
  36. 2026-07-02 16:36 UTCGHSA enrichment
  37. 2026-07-02 12:39 UTCEG score recompute
  38. 2026-07-02 12:39 UTCGHSA enrichment
  39. 2026-07-02 08:43 UTCEG score recompute
  40. 2026-07-02 08:43 UTCGHSA enrichment
  41. 2026-07-02 04:44 UTCEG score recompute
  42. 2026-07-02 04:43 UTCGHSA enrichment
  43. 2026-07-02 00:48 UTCEG score recompute
  44. 2026-07-02 00:48 UTCGHSA enrichment
  45. 2026-07-01 20:53 UTCEG score recompute
  46. 2026-07-01 20:53 UTCGHSA enrichment
  47. 2026-07-01 16:58 UTCEG score recompute
  48. 2026-07-01 16:58 UTCGHSA enrichment
  49. 2026-07-01 15:06 UTCEPSS rescore
  50. 2026-07-01 15:06 UTCEPSS rescore
  51. 2026-07-01 13:03 UTCEG score recompute
  52. 2026-07-01 13:03 UTCGHSA enrichment
  53. 2026-07-01 09:08 UTCEG score recompute
  54. 2026-07-01 09:07 UTCGHSA enrichment
  55. 2026-07-01 05:12 UTCEG score recompute
  56. 2026-07-01 05:12 UTCGHSA enrichment
  57. 2026-07-01 01:17 UTCEG score recompute
  58. 2026-07-01 01:17 UTCGHSA enrichment
  59. 2026-06-30 23:22 UTCEPSS rescore
  60. 2026-06-30 21:22 UTCEG score recompute
  61. 2026-06-30 21:22 UTCGHSA enrichment
  62. 2026-06-30 17:27 UTCEG score recompute
  63. 2026-06-30 17:27 UTCGHSA enrichment
  64. 2026-06-30 13:31 UTCEG score recompute
  65. 2026-06-30 13:31 UTCGHSA enrichment
  66. 2026-06-30 09:36 UTCEG score recompute
  67. 2026-06-30 09:36 UTCGHSA enrichment
  68. 2026-06-30 05:40 UTCEG score recompute
  69. 2026-06-30 05:40 UTCGHSA enrichment
  70. 2026-06-30 01:44 UTCEG score recompute
  71. 2026-06-30 01:44 UTCGHSA enrichment
  72. 2026-06-29 21:49 UTCEG score recompute
  73. 2026-06-29 21:49 UTCGHSA enrichment
  74. 2026-06-29 17:54 UTCEG score recompute
  75. 2026-06-29 17:54 UTCGHSA enrichment

Frequently asked(5)

What is CVE-2026-12046?
CVE-2026-12046 is a critical vulnerability published on June 19, 2026. Two state-mutating endpoints in pgAdmin 4's SQL Editor blueprint -- DELETE /sqleditor/close/<transid> and POST /sqleditor/initialize/sqleditor/updateconnection/<sgid>/<sid>/<did> -- were the only routes in the module missing the @pgaloginrequired decorator. Both reach a pickle.loads sink on…
When was CVE-2026-12046 disclosed?
CVE-2026-12046 was first published in the National Vulnerability Database on June 19, 2026, with the most recent update on July 1, 2026. EchelonGraph re-ingests CVE updates from NVD on a 2-hour cycle, so this page reflects the latest published state.
Is CVE-2026-12046 actively exploited?
CVE-2026-12046 is not currently on CISA's Known Exploited Vulnerabilities catalog. FIRST EPSS estimates a 49.1% percentile likelihood of exploitation in the next 30 days — higher percentiles indicate greater predicted risk.
What is the CVSS score of CVE-2026-12046?
CVE-2026-12046 has a CVSS v3 base score of 9.0 (NVD).
How do I remediate CVE-2026-12046?
Patch to the fixed version published by the affected vendor. Where vendor advisories exist for CVE-2026-12046, EchelonGraph cross-links them in the Vendor Advisories panel below — those typically contain the canonical remediation steps, fixed version numbers, and any vendor-specific mitigations.

Dependency Blast Radius

Explore the affected products and dependency analysis for CVE-2026-12046

Explore →

Is Your Infrastructure Affected by CVE-2026-12046?

EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.