CVE-2026-7814
Analyzed Analyzed - Analysis Complete
Stored XSS in pgAdmin 4 Browser Tree and Explain Visualizer

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-06-01
AI Q&A
2026-05-11
EPSS Evaluated
2026-05-30
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 Powered Q&A
Can you explain this vulnerability to me?

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.


How can this vulnerability impact me? :

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.


How can this vulnerability be detected on my network or system? Can you suggest some commands?

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.


What immediate steps should I take to mitigate this vulnerability?

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.


How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:

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.


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart