CVE-2026-7814: PostgreSQL pgAdmin 4 stored XSS in Browser Tree and Explain Visualizer

CVE-2026-7814 · Severity: medium · CVSS 4.8 · Published 2026-05-11

pgAdmin 4 is a popular management tool for PostgreSQL databases. A security vulnerability exists where malicious database object names (like table or column names) can execute unauthorized code in a user's web browser. If an administrator or user views a database containing these specially crafted names, an attacker could potentially steal session information or perform actions on behalf of the user.

Technologies: PostgreSQL pgAdmin 4, pgadmin4 (PyPI). Vendors: PostgreSQL, PyPI.

Quick answers

Is CVE-2026-7814 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-7814 being exploited in the wild.
How severe is CVE-2026-7814?
Medium severity, with a CVSS score of 4.8, published 11 May 2026.
Which products and versions are affected?
PostgreSQL pgAdmin 4 < 9.15, before 9.15; pgadmin4 (PyPI) < 9.15, ECOSYSTEM:introduced=0,fixed=9.15.
Is there a fix for CVE-2026-7814?
Yes. pgadmin4 (PyPI): upgrade to 9.15 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-7814 attacked?
It is attacked over the network, in a network appliance.
Am I affected by CVE-2026-7814?
Check whether you run PostgreSQL pgAdmin 4 or pgadmin4 (PyPI) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • pgadmin4 (PyPI): upgrade to 9.15 or later
    pip install "pgadmin4>=9.15"

Technical details

A stored cross-site scripting (XSS) vulnerability exists in the Browser Tree and Explain Visualizer modules of pgAdmin 4. The root cause is the use of 'innerHTML' to assign user-controlled PostgreSQL object names (such as databases, schemas, tables, or columns) to DOM elements. An attacker with high privileges (sufficient to create or rename database objects) can inject HTML markup and JavaScript into these names. The payload executes when another user navigates to the malicious object in the browser tree or runs an EXPLAIN command over it. The vulnerability is remediated in version 9.15 by replacing 'innerHTML' with 'textContent' to ensure proper encoding.

Affected products

  • PostgreSQL pgAdmin 4 before 9.15

Identifiers

  • CVE-2026-7814
  • GHSA-6p2c-69cv-3fxq
  • PYSEC-2026-2866

Timeline

  • 2026-05-11: disclosed
  • 2026-05-11: advisory
  • 2026-05-11: patched: Fixed in version 9.15

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.