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

相关推荐
名字还没想好☜12 小时前
Python f-string 进阶:数字格式化、对齐填充、调试 = 号与嵌套表达式
开发语言·数据库·python·字符串格式化·f-string
ltl13 小时前
Serverless 数据库弹性理论:Neon 与 Aurora Serverless v2
数据库
·薯条大王13 小时前
经济实惠玩云服务器|一台云服务器多人共用,子账号配置教程
java·linux·运维·服务器·汇编·c++·python
ZJH__GO16 小时前
网络编程v4pro--实现聊天室文件传输功能
java·服务器·网络·计算机网络
小小、码农16 小时前
Linux进程控制:从fork到exec,手写一个简易Shell
linux·运维·服务器
不会就选b16 小时前
Linux之进程间通信(二)---模拟进程池
linux·运维·服务器
marvelyu17 小时前
每天10分钟学会OceanBase系列(Day 20):跨机房容灾实战——构建多数据中心高可用架构
java·大数据·数据库
NeilYuen17 小时前
用UDP实现向DNS服务器请求IP地址
服务器·tcp/ip·udp
ZCBUS实时计算17 小时前
金融证券实时数仓建设实践:轻量化实时计算平台落地,实现交易数据端到端秒级处理
大数据·数据库·数据仓库·金融·flink·dba·etl
zd20057218 小时前
海洋微生物数据库
数据库·宏基因组