CVE-2025-12763pgAdmin 4是一款流行的开源管理和开发平台,用于PostgreSQL数据库。该产品存在一个严重的安全漏洞,影响Windows版本9.9及以下所有版本。漏洞的根本原因在于备份和恢复操作中使用了shell=True参数进行系统命令执行,这使得攻击者能够通过精心构造的文件路径输入来注入并执行任意系统命令。攻击者可以利用此漏洞在运行pgAdmin 4的Windows服务器上获取完全的系统控制权,执行恶意代码、安装后门或窃取敏感数据。由于pgAdmin通常以高权限运行,此漏洞的潜在危害更加严重。该漏洞需要用户交互才能触发,但结合社会工程学攻击,攻击者可以诱导管理员执行特定操作,从而完成攻击链。建议所有使用pgAdmin 4的用户立即检查版本并采取相应的安全措施。
该漏洞属于命令注入(Command Injection)类型,具体表现为在Windows系统上使用subprocess模块时采用了shell=True参数。在pgAdmin 4的备份和恢复功能实现中,程序需要调用系统命令来执行数据库备份操作,但由于使用了shell=True,用户的输入会被传递到shell解释器中执行。攻击者可以通过在文件路径中插入恶意命令(如使用分号、管道符等shell特殊字符)来实现命令注入。例如,当用户指定备份文件路径时,如果路径中包含类似';calc.exe;'的恶意构造,shell会将其解析为多个命令依次执行。攻击者需要诱使具有高权限的用户(如数据库管理员)触发备份或恢复操作,并通过精心设计的文件路径触发恶意代码执行。由于pgAdmin 4通常以服务形式运行在服务器上,成功利用此漏洞可能导致服务器完全沦陷。