PostgreSQL pg_dump工具存在安全漏洞,可导致源数据库服务器的超级用户在客户端执行psql恢复操作时,触发任意代码执行HGVE-2025-E007
文章目录
- 环境
- BUG/漏洞编码
- 症状
- 触发条件
- 解决方案
环境
系统平台:N/A
版本:9.0.4,9.0.3
BUG/漏洞编码
HGVE-2025-E007
症状
PostgreSQL的pg_dump工具存在不可信数据注入漏洞,允许源服务器的恶意超级用户通过psql元命令注入任意代码,在客户端使用psql恢复备份时以客户端操作系统账户权限执行命令。pg_dumpall工具同样受影响。当pg_restore用于生成纯文本格式转储时也存在此风险。该漏洞与MySQL的CVE-024-21096漏洞原理相似。PostgreSQL 17.6、16.10、15.14、14.119和13.22之前的版本受影响。
触发条件
恶意服务器可能会将psql元命令注入纯文本转储输出(即使用pg_dump --format=plain、pg_dumpall或者pg_restore --file创建的脚本)中,这些脚本会在运行psql的机器上执行恢复操作时被运行。
解决方案
整体修复方案:pg_dump导出时在导出的sql文件末尾添加校验,用psql恢复时对sql文件进行校验。
1.修复pg_dump工具
2.修复函数psql工具的HandleSlashCmds
3.修复函数exec_comma
补丁下载地址: 链接: https://pan.baidu.com/s/1uNtkjhbTnDTKW-X5CtZD6Q?pwd=eceb 提取码: eceb
