PostgreSQL 优化器统计信息可能会在视图、分区或子表中暴露采样数据HGVE-2025-E006

文章目录

环境

系统平台:N/A

版本:9.0.3,9.0.4

BUG/漏洞编码

HGVE-2025-E006

症状

PostgreSQL 优化器统计信息可能允许用户读取其本不应访问的采样数据。具体来说,统计信息可能允许用户读取那些行级安全策略原本要隐藏的数据。PostgreSQL 通过对表中列进行数据采样来维护统计信息,这些信息会在查询规划过程中被使用。在此次修复之前,用户可以构造一个"泄露型运算符"(leaky operator),从而绕过视图的访问控制列表(ACLs),以及在分区或表继承层级中的行级安全策略。可被访问到的统计数据主要包括直方图和最常见值(MCV)列表。CVE-2017-7484 和 CVE-2019-10130 原本旨在封堵这一类漏洞,但仍然存在缺口。受影响的版本包括 PostgreSQL 17.6、16.10、15.14、14.19 和 13.22 之前的版本。

触发条件

PostgreSQL 在进行查询优化时,会基于 pg_statistic 系统表中的采样数据进行估算。 然而,在执行计划生成过程中,某些自定义运算符被标记为 leakproof = false(默认值),攻击者可以利用这些非泄露型运算符,间接推断出统计信息中的敏感数据。 例如: 1.用户对某列没有访问权限; 2.但通过构造布尔表达式 (col = constant) 并结合查询计划器的选择性估算函数,仍可从直方图或 MCV 列表中泄露值分布信息。

解决方案

整体修复方案:pg_dump导出时在导出的sql文件末尾添加校验,用psql恢复时对sql文件进行校验。

1.修复pg_dump工具

2.修复函数psql工具的HandleSlashCmds

3.修复函数exec_command

补丁下载地址: 链接: https://pan.baidu.com/s/19Wz6FR7YzUfEFDxefTzAUg?pwd=jyhr 提取码: jyhr

相关推荐
瀚高PG实验室几秒前
瀚高数据库创建新数据库卡住问题排查
数据库·postgresql·瀚高数据库
瑶总迷弟18 分钟前
银河麒麟 V10 ARM64 安装 Oracle 19c 静默部署操作手册
数据库·oracle
飞浪纪元[FWC–FE]44 分钟前
Qt 工程创建与 CMake / qmake 构建规范
开发语言·数据库·qt
Ivanqhz1 小时前
MoE + LLM 应用
数据库·人工智能·pytorch·python·深度学习·算法·1024程序员节
Tsuki_tl1 小时前
【总结】Redis五大数据类型应用场景及基本命令
数据库·redis·后端·缓存·缓存中间件·redis命令·redis 五大数据类型
Gauss松鼠会1 小时前
GaussDB 整体架构解析
运维·服务器·网络·数据库·sql·架构·gaussdb
系统集成-鹰翔1 小时前
ERP对接升级提示数据库迁移失败:SQLite逐版本事务到底回滚到哪一步
javascript·数据库·经验分享·后端
西瓜拿铁好喝1 小时前
开源和闭源 AI 办公工具,分别适合谁
java·前端·数据库
代码派1 小时前
业务不停机迁移 MySQL 到 TiDB,NineData 数据增量同步实操演示
数据库·mysql·tidb·ninedata·无停机迁移·增量迁移·全量迁移
Gauss松鼠会1 小时前
GaussDB 中 gsql 与 DBeaver(JDBC)客户端工具查询时间不一致:原因、排查与处理
运维·服务器·数据库·sql·gaussdb·经验总结