CVE-2026-7814
Analyzed Analyzed - Analysis Complete

Stored XSS in pgAdmin 4 Browser Tree and Explain Visualizer

Vulnerability report for CVE-2026-7814, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-05-11

Last updated on: 2026-05-26

Assigner: PostgreSQL

Description

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.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-05-11
Last Modified
2026-05-26
Generated
2026-07-11
AI Q&A
2026-05-11
EPSS Evaluated
2026-07-09
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
pgadmin pgadmin_4 From 6.9 (inc) to 9.15 (exc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-79 The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability is a stored cross-site scripting (XSS) issue found in pgAdmin 4's Browser Tree and Explain Visualizer modules. It occurs because user-controlled PostgreSQL object names (such as database, schema, table, or column names) are inserted into the web page's DOM using innerHTML. This allows an attacker to craft object names containing malicious HTML or JavaScript code, which then executes in the browser of any pgAdmin user who views or runs EXPLAIN on the malicious object.

The vulnerability is fixed by replacing innerHTML with textContent, which safely inserts text without interpreting it as HTML or script.

Impact Analysis

This vulnerability can allow an attacker to execute arbitrary JavaScript code in the browser of pgAdmin users who interact with maliciously named database objects. This can lead to unauthorized actions such as stealing session tokens, performing actions on behalf of the user, or displaying misleading information.

Because the attack is stored, it can affect any user who navigates to or executes EXPLAIN on the compromised object, potentially impacting multiple users and sessions.

Detection Guidance

This vulnerability involves stored cross-site scripting (XSS) in pgAdmin 4 triggered by user-controlled PostgreSQL object names containing malicious HTML/JavaScript. Detection involves identifying PostgreSQL object names (database, schema, table, column, etc.) that include suspicious HTML markup or script tags.

Since the vulnerability manifests in the browser when pgAdmin users navigate to or execute EXPLAIN over malicious objects, detection on the network or system can include monitoring for unusual or suspicious object names in the PostgreSQL database.

Suggested commands to detect potentially malicious object names include querying PostgreSQL system catalogs for object names containing HTML or script tags. For example:

  • SELECT datname FROM pg_database WHERE datname ~* '<.*?>';
  • SELECT nspname FROM pg_namespace WHERE nspname ~* '<.*?>';
  • SELECT relname FROM pg_class WHERE relname ~* '<.*?>';
  • SELECT attname FROM pg_attribute WHERE attname ~* '<.*?>';

These queries search for object names containing HTML tags, which could indicate attempts to exploit the XSS vulnerability.

Mitigation Strategies

The primary mitigation is to upgrade pgAdmin 4 to version 9.15 or later, where the vulnerability is fixed by replacing unsafe innerHTML assignments with safe textContent usage.

Until an upgrade is possible, avoid using or navigating to PostgreSQL objects with suspicious or untrusted names containing HTML or script content in pgAdmin 4.

Additionally, restrict access to pgAdmin 4 interfaces to trusted users only, and consider sanitizing or renaming any database objects with potentially malicious names.

Compliance Impact

The vulnerability is a stored cross-site scripting (XSS) issue in pgAdmin 4 that allows attacker-supplied JavaScript to execute in the browser of any pgAdmin user who interacts with malicious PostgreSQL object names. This could potentially lead to unauthorized access or manipulation of sensitive data within the application.

Such unauthorized script execution can compromise data confidentiality and integrity, which are critical aspects of compliance with standards like GDPR and HIPAA. Specifically, if an attacker exploits this vulnerability, it could lead to exposure or alteration of personal or protected health information, thereby violating these regulations.

However, the provided information does not explicitly detail the direct impact on compliance frameworks or any mitigation steps related to regulatory adherence.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-7814. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart