CVE-2026-111439 pg_read_binary_file_blocks 缺少初始用户权限校验,普通用户可读取 relation 文件块
An attacker with basic database access can read arbitrary table data blocks without SELECT permissions due to missing authorization checks in pg_read_binary_file_blocks.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- None listed
What is CVE-2026-111439?
CVE-2026-111439 is a medium-severity missing authorization vulnerability in openGauss-server, published on 19 Oct 2026. Any signed-in user can exploit it over the network, with no action from the victim.
Official 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。
Weakness: CWE-862
Which versions are affected by CVE-2026-111439?
How do I fix CVE-2026-111439?
No fix has been published for CVE-2026-111439 yet. Limit exposure of the affected software until one is available.
Upgrade, and check permissions on every request on the server, not only in the interface. More about Missing authorization.
Is CVE-2026-111439 being exploited?
There is no known exploitation of CVE-2026-111439 in the wild and no public exploit code.
Sources
Also known as GHSA-cr5j-x763-5676.