pgAdmin存在重大安全漏洞CVE-2025-13780,可导致远程代码执行
广泛用于PostgreSQL环境的开源管理工具pgAdmin存在一项重大安全漏洞CVE-2025-13780,可能导致远程代码执行。该漏洞影响以服务器模式运行的pgAdmin,涉及数据库还原流程的安全性,对企业数据库环境构成高度风险。
CVE-2025-13780影响pgAdmin 9.10及之前版本。NVD将其评定为高风险等级漏洞(CVSS评分8.8);而PostgreSQL官方则将其列为严重等级(CVSS评分9.1),表明该漏洞一旦被利用,后果可能极为严重。
安全研究人员发现,CVE-2025-13780可绕过pgAdmin开发团队为修补CVE-2025-12762而引入的安全机制。攻击者可将看似正常的数据库还原流程武器化,在主机上执行任意指令。
在针对CVE-2025-12762的修复中,pgAdmin团队加入了过滤机制,在执行SQL转储文件前移除其中危险的“元命令”。然而,研究人员发现,仅需一组特定的字节序列,即可使该过滤机制完全失效。
问题的核心在于,pgAdmin的安全过滤器(特别是has_meta_commands()函数)扫描文件的方式,与底层psql工具实际执行文件的方式存在差异。这种“解析行为不一致”使得攻击者在获取pgAdmin服务器执行账户权限后,能够注入并执行任意指令,进而导致服务器被完全入侵、数据被窃取或删除,甚至在内部网络中进行横向移动。
官方已在pgAdmin 9.11版本中调整数据库还原流程,引入更严格的限制机制,防止psql元命令被滥用。由于9.10及之前版本均受影响,建议以服务器模式部署pgAdmin的管理员,应尽快完成升级,或避免还原来自不明来源的备份文件,以降低服务器被入侵的风险。