---
id: CVE-2026-7814
aliases:
  - GHSA-6p2c-69cv-3fxq
  - PYSEC-2026-2866
title: >-
  pgAdmin 4: Stored cross-site scripting (XSS) vulnerability in Browser Tree and
  Explain Visualizer modules
summary: >-
  pgAdmin 4: Stored cross-site scripting (XSS) vulnerability in Browser Tree and
  Explain Visualizer modules
severity: medium
cvss: 4.8
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:N'
vendor: pgadmin4
product: pgadmin4
ecosystem: pip
affected:
  - pgadmin4 < 9.15
patched:
  - pgadmin4 9.15
published: '2026-05-11'
updated: '2026-09-10'
sourceUpdated: '2026-09-10T03:50:45.928828200Z'
source: OSV
sourceUrl: 'https://osv.dev/vulnerability/GHSA-6p2c-69cv-3fxq'
references:
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-7814'
  - url: 'https://github.com/pgadmin-org/pgadmin4/issues/9865'
  - url: 'https://github.com/pgadmin-org/pgadmin4/pull/9865'
  - url: 'https://github.com/pgadmin-org/pgadmin4'
tags:
  - osv
  - pip
epss: 0.00249
epssPercentile: 0.14348
ingestedAt: '2026-07-13T18:57:53.970Z'
---

## Overview

Stored cross-site scripting (XSS) vulnerability in pgAdmin 4 Browser Tree and Explain Visualizer modules.

User-controlled PostgreSQL object names (database, schema, table, column, etc.) were assigned to DOM elements via innerHTML, allowing crafted object names containing HTML markup to execute attacker-supplied JavaScript in the browser of any pgAdmin user who navigated to or executed EXPLAIN over the malicious object.

Fix replaces innerHTML with textContent.

This issue affects pgAdmin 4: before 9.15.

## Affected packages

- `pgadmin4 < 9.15`

## Remediation

Upgrade to a patched release:

- `pgadmin4 9.15`
