CVE-2025-60796phpPgAdmin 7.13.0及更早版本存在多处存储型跨站脚本(XSS)漏洞。漏洞源于多个PHP文件中用户通过$_REQUEST参数提交的输入在HTML输出中被直接反射,未经过适当的编码或消毒处理。受影响的文件包括sequences.php、indexes.php、admin.php等多个组件。攻击者可利用这些漏洞在受害者的浏览器中执行任意JavaScript代码,进而可能导致会话劫持、凭据盗窃或其他恶意操作。由于phpPgAdmin是管理PostgreSQL数据库的流行Web工具,管理员在使用该工具时极易受到攻击。漏洞无需认证即可被利用,但需要诱导用户点击恶意构造的链接或访问包含攻击代码的页面。
漏洞的核心问题在于phpPgAdmin的多个PHP文件对用户输入缺乏充分的输入验证和输出编码。具体来说,sequences.php(约第316行)、indexes.php(约第29行)和admin.php(约第35行)等文件中,代码直接将从$_REQUEST获取的参数值嵌入到HTML响应中,而未进行HTML实体编码。例如,当用户访问类似/admin.php?action=<script>alert(1)</script>的URL时,攻击者注入的JavaScript代码会被浏览器作为HTML的一部分解析执行。由于phpPgAdmin通常运行在具有高权限的数据库管理上下文中,成功的XSS攻击不仅能够窃取用户会话Cookie,还可能以管理员权限执行数据库操作。攻击者通常通过钓鱼邮件或社交工程手段诱导已登录的管理员访问恶意链接,完成攻击链。修复方案需要在所有用户输入点实施上下文感知的输出编码,并对关键参数使用白名单验证机制。