CVE-2025-60797phpPgAdmin 7.13.0及更早版本中存在一个严重的SQL注入漏洞,漏洞位于dataexport.php文件的第118行。该漏洞允许经过身份认证的攻击者通过构造恶意的SQL查询语句来执行任意SQL命令。攻击者只需在HTTP请求中向dataexport.php页面传递精心构造的$_REQUEST['query']参数,即可绕过应用程序的安全过滤机制,直接将用户输入传递给数据库执行。由于phpPgAdmin通常以高权限运行数据库操作,攻击者成功利用此漏洞后可能导致完整的数据库被攻陷,包括读取、修改或删除数据库中的敏感数据,甚至可能通过数据库的操作系统级命令执行功能实现服务器远程代码执行,从而获取服务器控制权。该漏洞的CVSS评分为6.5,属于中等严重程度,但考虑到其对数据库机密性的严重影响以及攻击利用的相对简单性,建议相关用户尽快采取修复措施。
该SQL注入漏洞的根本原因在于phpPgAdmin应用程序在dataexport.php文件的第118行直接使用用户提供的$_REQUEST['query']参数执行SQL查询,而没有进行任何输入验证、清理或参数化处理。漏洞代码为:$data->conn->Execute($_REQUEST['query'])。攻击者只需构造包含恶意SQL语句的请求即可触发漏洞。常见的SQL注入Payload包括:使用UNION SELECT语句提取数据库信息、使用BENCHMARK或SLEEP函数进行时间盲注、使用LOAD_FILE读取服务器文件内容、使用INTO OUTFILE写入webshell等。由于phpPgAdmin本身需要数据库连接凭证进行登录,因此该漏洞的利用前提是攻击者已拥有有效的phpPgAdmin账户。虽然这限制了漏洞的潜在攻击面,但在多用户环境或凭证泄露场景下,该漏洞仍具有极高的危害性。攻击者还可以通过自动化工具批量扫描和利用此漏洞,对所有使用受影响版本phpPgAdmin的服务器构成严重威胁。