Description
在 openGauss-server的 src/common/backend/utils/adt/genfile.cpp 模块中,内置函数 pg_read_binary_file_blocks() 存在权限校验逻辑缺陷。该函数在入口处仅校验了起始块号(startBlockNum)和块数量(blockCount)的范围,随后直接调用底层文件读取例程 ReadBinaryFileBlocksFirstCall()。该底层例程仅执行了路径规范化检查以及针对 .. 路径遍历和数据目录边界的基本检查,缺失了对调用者数据库权限(如 SELECT 权限)的校验。此外,辅助函数 is_row_data_file() 也仅用于识别文件形态,未包含权限检查。因此,任何拥有普通数据库连接权限的用户,只要能够通过 pg_relation_filepath() 等函数获取到目标表的底层关系文件路径(例如压缩数据的 _compress 文件路径),即可无需具备该表的 SELECT 权限,直接读取表数据的二进制块。
此漏洞影响此前3.0.0到6.0.0间的所有版本及补丁版,并在7.0.0-LTS版本修复。修复patch详见:https://gitcode.com/opengauss/openGauss-server/pull/9374。
Published: 2026-10-19
Score: 4.3 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Unauthorized reading of database table files leads to confidentiality breach
Action: Patch
AI Analysis

Impact

An implementation flaw in openGauss-server’s pg_read_binary_file_blocks function allows a database user who can derive the underlying table file path to read binary blocks of any relation without the corresponding SELECT privilege. The missing permission check means a regular user can retrieve sensitive table data, compromising confidentiality. The weakness is an access‑control flaw (CWE‑862).

Affected Systems

Vulnerable versions of openGauss‑server range from 3.0.0 up through 6.0.0, including any patch releases within that range. The issue is resolved in 7.0.0‑LTS.

Risk and Exploitability

The CVSS score of 4.3 indicates low‑moderate severity. The vulnerability can be exploited only from within a database session, requiring the attacker to have the ability to call the function and to obtain a file path via pg_relation_filepath or similar. No remote exploit is described and EPSS is not available. The vulnerability is not listed in the CISA KEV catalog. Because the exploit path relies on legitimate database functions, an attacker needs only a normal database connection; thus the attack vector is local database. Patching fixes the missing permission check.

Generated by OpenCVE AI on October 19, 2026 at 09:51 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade to openGauss‑server 7.0.0‑LTS or later to apply the patch that restores proper permission checks.
  • Revoke the public privilege on the function pg_read_binary_file_blocks and grant it only to trusted roles.
  • Restrict or revoke use of pg_relation_filepath for untrusted users to prevent retrieval of relation file paths.

Generated by OpenCVE AI on October 19, 2026 at 09:51 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 19 Oct 2026 08:15:00 +0000

Type Values Removed Values Added
Description 在 openGauss-server的 src/common/backend/utils/adt/genfile.cpp 模块中,内置函数 pg_read_binary_file_blocks() 存在权限校验逻辑缺陷。该函数在入口处仅校验了起始块号(startBlockNum)和块数量(blockCount)的范围,随后直接调用底层文件读取例程 ReadBinaryFileBlocksFirstCall()。该底层例程仅执行了路径规范化检查以及针对 .. 路径遍历和数据目录边界的基本检查,缺失了对调用者数据库权限(如 SELECT 权限)的校验。此外,辅助函数 is_row_data_file() 也仅用于识别文件形态,未包含权限检查。因此,任何拥有普通数据库连接权限的用户,只要能够通过 pg_relation_filepath() 等函数获取到目标表的底层关系文件路径(例如压缩数据的 _compress 文件路径),即可无需具备该表的 SELECT 权限,直接读取表数据的二进制块。 此漏洞影响此前3.0.0到6.0.0间的所有版本及补丁版,并在7.0.0-LTS版本修复。修复patch详见:https://gitcode.com/opengauss/openGauss-server/pull/9374。
Title pg_read_binary_file_blocks 缺少初始用户权限校验,普通用户可读取 relation 文件块
Weaknesses CWE-862
References
Metrics cvssV3_1

{'score': 4.3, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: openGauss

Published:

Updated: 2026-10-19T07:59:44.700Z

Reserved: 2026-10-16T03:04:55.778Z

Link: CVE-2026-111439

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-19T08:17:02.130

Modified: 2026-10-19T08:17:02.130

Link: CVE-2026-111439

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-19T10:00:15Z

Weaknesses