IPBUF安全漏洞报告
English
CVE-2026-6476 CVSS 7.2 高危

CVE-2026-6476 PostgreSQL pg_createsubscriber SQL注入漏洞

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

漏洞信息

漏洞编号
CVE-2026-6476
漏洞类型
SQL注入
CVSS评分
7.2 高危
攻击向量
网络 (AV:N)
认证要求
高权限 (PR:H)
用户交互
无需交互 (UI:N)
影响产品
PostgreSQL

相关标签

SQL注入PostgreSQL数据库安全权限提升RCE逻辑复制

漏洞概述

PostgreSQL的`pg_createsubscriber`组件存在严重的SQL注入漏洞。具备`pg_create_subscription`权限的攻击者可利用此漏洞,在`pg_createsubscriber`下次运行时注入并执行任意SQL语句,从而获得超级用户权限。该漏洞影响PostgreSQL 17(17.10之前)和18(18.4之前)版本。攻击通过网络进行,无需用户交互,成功利用可导致系统完全沦陷,严重影响数据的机密性、完整性和可用性。

技术细节

该漏洞的核心在于PostgreSQL的`pg_createsubscriber`工具在构建内部SQL命令时存在输入验证缺陷。`pg_createsubscriber`是一个用于管理逻辑复制订阅的工具,它需要连接数据库并执行特定的维护任务。漏洞允许拥有`pg_create_subscription`特权的攻击者操纵传递给该工具的参数,从而注入恶意的SQL命令。虽然攻击者需要特定的数据库权限(PR:H),但该工具通常以高权限运行。当`pg_createsubscriber`被触发执行时,它会拼接用户可控的输入到SQL查询中,攻击者注入的SQL代码随之被执行。由于执行上下文通常继承自超级用户或具有提升权限的数据库角色,攻击者可以执行任意操作,包括读取、修改或删除所有数据,甚至控制底层操作系统(通过SQL扩展)。

攻击链分析

STEP 1
权限获取
攻击者获取数据库的pg_create_subscription权限,这是利用该漏洞的前提条件。
STEP 2
构造Payload
攻击者编写包含SQL注入代码的恶意字符串,目标是pg_createsubscriber工具处理的参数。
STEP 3
等待触发
攻击者将恶意参数注入系统,等待管理员或系统自动运行pg_createsubscriber工具。
STEP 4
注入执行
pg_createsubscriber运行时,未能正确过滤参数,导致恶意SQL语句以超级用户身份执行。
STEP 5
控制权夺取
攻击者利用执行的高权限SQL,读取敏感数据、篡改数据库或控制服务器系统。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# Conceptual PoC for CVE-2026-6476 # The attacker needs pg_create_subscription privileges. # The vulnerability triggers when pg_createsubscriber runs. # 1. Attacker prepares malicious SQL payload # This payload attempts to create a superuser or execute OS commands. # Example payload injection into a vulnerable parameter (e.g., publication name). MALICIOUS_PAYLOAD="'; COPY (SELECT '') TO PROGRAM 'touch /tmp/pwned'; --" # 2. Execution scenario # When an administrator or the system runs pg_createsubscriber with the crafted input: # /usr/bin/pg_createsubscriber -d postgres -p 5432 -U attacker --publication="${MALICIOUS_PAYLOAD}" # 3. Result # The injected SQL is executed with superuser privileges, creating the file /tmp/pwned. # This confirms arbitrary SQL execution capability.

影响范围

PostgreSQL 17 < 17.10
PostgreSQL 18 < 18.4

防御指南

临时缓解措施
如果不能立即升级,应严格限制拥有pg_create_subscription角色的用户数量,并监控pg_createsubscriber进程的异常调用。确保数据库服务器不直接暴露在公网,以减少攻击面。

参考链接

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