文章目录
环境
系统平台:N/A
版本:9.0.3,9.0.4,9.0.5,4.5.8,4.5.10,4.5.11,6.0.4
BUG/漏洞编码
HGVE-2026-E010
症状
PostgreSQL pg_basebackup plain 格式和 pg_rewind 中存在符号链接跟随问题,允许源端超级用户覆盖本地文件,例如 /var/lib/postgres/.bashrc,从而劫持操作系统账户。由于 shared_preload_libraries 等特性,在这些命令之后启动服务器仍然会隐式信任源端超级用户。因此,该攻击只有在这些命令执行后、服务器启动前采取了相关操作时才具有实际影响,例如将文件移动到另一台虚拟机或对虚拟机做快照。PostgreSQL 18.4、17.10、16.14、15.18 和 14.23 之前的版本受影响。
触发条件
漏洞根因是 pg_basebackup plain 格式和 pg_rewind 在处理来自源端的数据目录内容时跟随符号链接,未充分限制写入目标范围。源端超级用户可布置指向本地敏感文件的符号链接,使客户端工具将同步数据写入预期数据目录之外的位置。
解决方案
代码修复应在写入备份或 rewind 文件前规范化并校验目标路径,禁止符号链接导致写入逃逸到目标数据目录之外。对于来自源端的符号链接、硬链接和特殊文件,应采用安全处理策略,必要时拒绝或按普通元数据记录处理。打开文件时应使用不跟随符号链接的安全标志,并在写入前后复核真实路径仍位于目标目录内。修复后应增加包含恶意符号链接的数据目录同步测试。
安装漏洞补丁包。 下载地址:
v9.0.3,v9.0.4,v9.0.5 :
链接: https://pan.baidu.com/s/15nI0Vgxmy5Yy-hCspSOm2g?pwd=qx2e 提取码: qx2e
V4.5.8,V4.5.10,V4.5.11,V6.0.4:
链接: https://pan.baidu.com/s/1wbOp7Qhb8-pepw7ko63zag?pwd=b56y 提取码: b56y 。