pgAdmin
cpe:2.3:a:pgadmin:pgadmin:*:*:*:*:postgresql:*:*, +1 more
- < 9.15
A stored cross-site scripting vulnerability has been identified in pgAdmin 4 versions prior to 9.15. This issue arises in the Browser Tree and Explain Visualizer modules, where user-controlled PostgreSQL object names are assigned to DOM elements using innerHTML. This allows for the execution of attacker-supplied JavaScript in the browsers of pgAdmin users who interact with the malicious objects. The vulnerability has been addressed by replacing innerHTML with textContent.
Exploitation of this vulnerability allows for stored cross-site scripting, where injected JavaScript is executed in the context of the user.
To reproduce this vulnerability, create a table in PostgreSQL with a name that includes a crafted payload, such as a JavaScript alert. After creating the table, navigate to it in the pgAdmin 4 Browser Tree. Then, access the Explain Visualizer module and observe the execution of the injected JavaScript.
Users can update to pgAdmin 4 version 9.15 or later, where this vulnerability has been fixed.
Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.