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

相关推荐
what_201818 分钟前
Linux 磁盘 (查看、划分、inode)
linux·运维·服务器
ai_coder_ai25 分钟前
论 NoSQL 数据库技术及其应用
数据库·nosql
A_humble_scholar2 小时前
Linux(七)调度器:从硬件矛盾到进程切换的底层逻辑
linux·服务器·网络
AOwhisky2 小时前
Redis 学习笔记(第一期):概述、安装配置与核心理论
运维·数据库·redis·笔记·学习·云计算
ytttr8732 小时前
C# 定时数据库备份工具
开发语言·数据库·c#
睡不醒男孩0308232 小时前
自建 Prometheus+Grafana 与 CLUP 深度监控 PG 集群有什么区别?
数据库·oracle
AOwhisky2 小时前
Redis 学习笔记(第四期):高可用与集群(哨兵 + Cluster + 容器化)
linux·运维·数据库·redis·笔记·学习·缓存
猫猫聚会Ing3 小时前
数据库设计 Prompt 提示词 - 构建与迭代
数据库
上海云盾-小余3 小时前
源站隐藏实战:规避裸 IP 被直接攻击的完整方案
数据库·网络协议·tcp/ip
C语言小火车3 小时前
嵌入式Linux应用开发技术栈完全指南
linux·运维·服务器