CVE-2026-7814pgAdmin 4在9.15版本之前的Browser Tree和Explain Visualizer模块中存在存储型XSS漏洞。由于使用innerHTML直接渲染用户可控的PostgreSQL对象名称,攻击者可利用包含恶意脚本的表名等对象,在查看该对象的用户浏览器中执行任意JavaScript代码。官方已将该渲染方式替换为textContent进行修复。
该漏洞的根源在于pgAdmin 4前端在处理数据库元数据时使用了不安全的DOM操作方法。具体而言,Browser Tree和Explain Visualizer模块在展示数据库、模式、表或列等对象名称时,使用了innerHTML属性将数据插入页面。innerHTML会将字符串解析为HTML,攻击者若具有创建对象的权限,可构造形如`<img src=x onerror=alert(1)>`的对象名称。当高权限用户(如管理员)导航至该对象或对其执行EXPLAIN命令时,前端会读取该名称并通过innerHTML渲染,从而触发XSS。这允许攻击者窃取敏感信息或执行未授权操作。修复方案是将innerHTML替换为textContent,确保数据作为纯文本处理。