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

相关推荐
是梦终空16 分钟前
计算机毕业设计279—基于SpringBoot+Vue3校园商户意见反馈系统(源代码+数据库+17000字论文+ppt)
数据库·spring boot·vue·毕业设计·课程设计·毕业论文·源代码
TDengine (老段)40 分钟前
TDengine 索引使用指南 — 何时建、怎么建、怎么用
java·大数据·数据库·物联网·时序数据库·tdengine·涛思数据
ATA88881 小时前
企业数据库账号安全的技术解决方案
数据库·安全
DB哥讲数据库1 小时前
MySQL 8.4 安装教程:超详细图文讲解(附mysql安装包)
linux·数据库·mysql·centos
Databend1 小时前
AST Visitor API 迁移,怎么证明 AI 没改坏 SQL 语义?
数据库·ai编程
TDengine (老段)1 小时前
TDengine DDL 完整参考 — Database/STable/Table/Column/Tag
大数据·数据库·物联网·时序数据库·tdengine·涛思数据
xlxxy_1 小时前
sap获取批次特性报表
java·linux·开发语言·前端·数据库·abap·mm
神秘的MT1 小时前
SQL Server 分页查询 ROW_NUMBER () OFFSET...FETCH游标(Cursor) 数据插入
数据库·sql·学习·c#·winform
栋***t1 小时前
从“工具”到“基建”,麦塔在线考试系统经历的时代变局与定位逻辑
java·大数据·数据库·开源软件·无纸化
SelectDB技术团队1 小时前
Agent 可观测性:Apache Doris / SelectDB 的技术能力、选型对比与实践
数据库·人工智能·agent·可观测·ai-native·apache doris·selectdb