Katalog CVE

CVE-2026-111439

ŚrednieCVSS 4.3
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

W openGauss-server w module src/common/backend/utils/adt/genfile.cpp wbudowana funkcja pg_read_binary_file_blocks() ma wadę weryfikacji uprawnień. Funkcja sprawdza jedynie zakres parametrów startBlockNum i blockCount, a następnie wywołuje ReadBinaryFileBlocksFirstCall(), która nie weryfikuje uprawnień SELECT użytkownika. Każdy użytkownik z zwykłym dostępem do bazy może odczytać bloki binarne danych tabeli bez uprawnień SELECT, jeśli zna ścieżkę pliku relacji.

Ocena ryzyka

Użytkownik bez uprawnień SELECT może odczytać dane tabeli, co stanowi naruszenie poufności i kontroli dostępu. Podatność dotyczy wersji od 3.0.0 do 6.0.0 i została naprawiona w 7.0.0-LTS.

Rekomendacja

Zaktualizuj openGauss-server do wersji 7.0.0-LTS lub nowszej, która zawiera poprawkę. Jeśli aktualizacja nie jest możliwa, ogranicz dostęp do funkcji pg_read_binary_file_blocks() i monitoruj nietypowe odczyty plików.

Inne podatności w openGauss-server

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

在 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。

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS