PostgreSQL pg_dump对象名称中有换行符时可导致psql客户端及恢复目标服务器执行任意恶意代码HGVE-2025-E008

文章目录

环境

系统平台:N/A

版本:9.0.3,9.0.4

BUG/漏洞编码

HGVE-2025-E008

症状

PostgreSQL中的pg_dump、pg_dumpall工具对换行符的处理不当,使得原始服务器上的用户能够通过在精心构造的对象名称中插入psql元命令,将任意代码注入到由用于恢复转储文件的客户端操作系统账户(运行 psql)执行的恢复过程中。同样的攻击手段还可导致在目标恢复服务器上以超级用户身份进行 SQL 注入。pg_dumpall、pg_restore 和 pg_upgrade 也受到此问题影响。受影响的版本包括 PostgreSQL 17.6、16.10、15.14、14.19 和 13.22 之前的版本。11.20 之前的版本不受影响。此类问题曾由 CVE-2012-0868 修复,但在版本 11.20 中被重新引入。

触发条件

对象命中存在换行符的情况下,pg_dump导出生成注释时,会将换行符后的内容转到下一行,导致部分内容从注释中逃逸。使用psql恢复时,会错误地执行逃逸部分的注释内容。

解决方案

整体修复方案:pg_dump导出时,在生成对象注释时,将换行符(\n)替换为空格,保证对象名中的字符串不会从注释中逃逸。

补丁下载地址: 链接: https://pan.baidu.com/s/1W2DORVFhZAGs_31-dLJN1w?pwd=86q6 提取码: 86q6

相关推荐
AI备忘录7 分钟前
(二十五)华为华三锐捷迈普思科 ERPS 环网保护配置命令(G.8032 五厂商对照)
运维·服务器·网络·网络协议·华为
hwscom11 分钟前
几分钟开防护,SQL和XSS注入全被护卫神挡住
数据库·sql·xss
石小千13 分钟前
Redis开启ACL认证
数据库·redis·缓存
木由里予15 分钟前
NAND 这门生意
运维·服务器·网络·单片机
东风微鸣19 分钟前
把 Tailscale 接进 Prometheus 监控
java·数据库·prometheus
wno70423 分钟前
MYSQL 常用合并函数
android·数据库·mysql
东风微鸣25 分钟前
一次断电引发的血案:Ubuntu 26.04 升级中断后的完整救援实录
数据库·ubuntu·postgresql
大侠归来44 分钟前
事务能回滚吗?Pipeline 算事务吗?
java·数据库·oracle
临床数据科学和人工智能兴趣组1 小时前
字符串转换为句子风格
大数据·数据库·人工智能·r语言·r语言-4.2.1
橙色云-智橙协同研发1 小时前
电子高科技行业:机械与电子(MCAD & ECAD)如何协同?
大数据·运维·服务器·人工智能·安全