IPBUF安全漏洞报告
English
CVE-2026-6475 CVSS 8.8 高危

CVE-2026-6475 PostgreSQL符号链接跟随漏洞

披露日期: 2026-05-14
来源: f86ef6dc-4d3a-42ad-8f28-e6d5547a5007

漏洞信息

漏洞编号
CVE-2026-6475
漏洞类型
符号链接跟随
CVSS评分
8.8 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
PostgreSQL

相关标签

PostgreSQL符号链接跟随任意文件写入权限提升CVE-2026-6475

漏洞概述

PostgreSQL的`pg_basebackup`(纯文本格式)和`pg_rewind`工具存在符号链接跟随漏洞。该漏洞允许源端超级用户覆盖本地文件(如`.bashrc`),从而劫持操作系统账户。由于在启动服务器后系统会隐式信任源超级用户,因此攻击的实际影响取决于在执行命令与启动服务器之间是否进行了文件迁移或快照操作。受影响版本包括PostgreSQL 18.4、17.10等多个分支之前的版本。

技术细节

该漏洞源于PostgreSQL在处理`pg_basebackup`(纯文本模式)和`pg_rewind`工具时,未能正确验证符号链接的目标路径。攻击者(特别是拥有源端超级用户权限的恶意用户)可以精心构造指向关键系统文件(如`.bashrc`、`ssh authorized_keys`或系统配置文件)的恶意符号链接。当管理员执行备份或恢复操作时,相关工具会跟随该链接,将备份数据写入目标位置,从而实现任意文件覆盖。攻击者通常利用此机制修改用户环境配置文件以植入后门代码。虽然PostgreSQL服务器启动后会隐式信任源超级用户(例如通过`shared_preload_libraries`机制),但这并不降低风险。攻击的实际窗口在于执行备份命令与启动服务器之间的时间差。如果在此期间管理员将数据迁移到新环境或对虚拟机进行快照,恶意文件将被持久化保存。一旦系统加载这些被篡改的文件,攻击者即可获得操作系统级别的访问权限,完全控制受影响的主机。

攻击链分析

STEP 1
1. 权限获取
攻击者获得源端PostgreSQL数据库的超级用户权限。
STEP 2
2. 链接构造
攻击者在数据库数据目录中创建恶意符号链接,指向目标系统上的敏感文件(如.bashrc)。
STEP 3
3. 触发备份
管理员或系统调度执行`pg_basebackup`(纯文本格式)或`pg_rewind`命令。
STEP 4
4. 文件覆盖
备份工具跟随符号链接,将数据库数据写入目标敏感文件,导致文件被覆盖。
STEP 5
5. 持久化与利用
在服务器启动前,攻击者对文件进行迁移或快照。受害者加载被篡改的文件时,触发恶意代码,劫持账户。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/bin/bash # PoC for CVE-2026-6475: PostgreSQL Symlink Following # This script demonstrates the logic of the vulnerability. # Note: Exploitation requires access as the origin superuser. # 1. Define the target file on the local system to overwrite TARGET_FILE="/var/lib/postgres/.bashrc" # 2. Define a path inside the PostgreSQL data directory that will be backed up # The attacker creates a symlink at this location pointing to the target file # Example: ln -s /var/lib/postgres/.bashrc /var/lib/postgresql/data/base/12345 MALICIOUS_SYMLINK="/var/lib/postgresql/data/base/12345" echo "[+] Simulating creation of symlink: $MALICIOUS_SYMLINK -> $TARGET_FILE" # ln -s $TARGET_FILE $MALICIOUS_SYMLINK echo "[+] Waiting for administrator to run pg_basebackup -Fp ..." echo "[+] When pg_basebackup runs, it will follow the symlink and overwrite $TARGET_FILE" echo "[+] If the VM is snapshotted/moved before starting PG, the malicious .bashrc persists."

影响范围

PostgreSQL < 18.4
PostgreSQL < 17.10
PostgreSQL < 16.14
PostgreSQL < 15.18
PostgreSQL < 14.23

防御指南

临时缓解措施
建议立即升级到PostgreSQL的最新安全补丁版本。如果无法立即升级,应严格限制对数据库备份工具的访问权限,并确保在执行`pg_basebackup`或`pg_rewind`操作后,在启动服务器之前检查关键系统文件(如`.bashrc`、`.ssh/authorized_keys`等)的完整性和符号链接状态,防止被恶意覆盖。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表