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

相关推荐
薛晓刚2 分钟前
Oracle ADG 备库归档丢了怎么办?RMAN 增量前滚实战
数据库·oracle
Highcharts.js7 分钟前
用Highcharts开发动态主从图表|双图联动的时间序列图表示例
javascript·数据库·信息可视化·highcharts·图表开发·动态图表
阿俊-全栈开发10 分钟前
LikeShop 版本升级与备份:从旧版平滑迁移的完整步骤
jvm·数据库·oracle·开源·likeshop·likeshop开源商城
姜鱼问生1 小时前
docker exec 排查容器问题:从日志到进程
运维·网络·数据库·docker·容器
狗凯之家源码网1 小时前
AI 步数修改提交系统源码应用场景与落地指南
android·数据库·人工智能·运动步数
穆梓兰煊1 小时前
AI供应链安全不再只是包安全,还涉及模型与数据
前端·数据库
北风toto2 小时前
数据库笔记:Armstrong 公理系统与集合论的深度辨析
数据库·笔记
小蒜学长2 小时前
基于SpringBoot+Vue的租房管理系统的设计与实现(代码+数据库+LW)
java·数据库·spring boot·后端·租房管理
一只专注api接口开发的技术猿2 小时前
Open‑Claw 实战|告别页面逆向,快速搭建电商商品监控与数据分析完整方案
大数据·数据库·python·数据挖掘·数据分析