CVE-2026-6638PostgreSQL在逻辑复制功能中存在SQL注入漏洞。具体而言,`ALTER SUBSCRIPTION ... REFRESH PUBLICATION`命令未能正确清理由订阅者创建的表相关参数。这使得订阅者端的表创建者能够利用该漏洞,在发布端执行任意SQL代码。攻击者利用该漏洞可以订阅发布端的凭据权限进行恶意操作。
该漏洞位于PostgreSQL的逻辑复制模块中。当管理员在订阅端执行`ALTER SUBSCRIPTION ... REFRESH PUBLICATION`时,PostgreSQL会向发布端请求表的元数据并同步数据。由于代码在处理表名等参数时缺乏严格的输入验证,攻击者可以在订阅端创建包含恶意SQL代码的表名(例如通过表名注入)。当刷新操作触发时,发布端会将这些恶意参数拼接到SQL查询中执行。由于进程运行在发布端的权限上下文中,且使用的是订阅配置中的发布端凭据,攻击者可以借此以发布者身份执行任意SQL语句,造成数据泄露或完整性破坏。该漏洞仅影响PostgreSQL 16、17和18的特定旧版本,且需要攻击者具备创建表的权限以及特定的用户交互(触发刷新),因此攻击难度相对较高,但在特定环境下危害较大。