VULNERABILIDAD
CVE-2026-111439 Falta de control de permisos en pg_read_binary_file_blocks de openGauss-server
La función pg_read_binary_file_blocks() en src/common/backend/utils/adt/genfile.cpp no valida los permisos del llamador, por lo que cualquier usuario con conexión a la base puede leer bloques binarios de archivos de relación de tablas sin tener permiso SELECT. Afecta versiones entre 3.0.0 y 6.0.0 y se corrige en 7.0.0-LTS.
Alerta de Nureq Monitor
Detectada 19 OCT · 06:43
CVSS 3.1
4.3MEDIAPROBABILIDAD DE EXPLOTACIÓN (EPSS)
0,3 % PERCENTIL 17
EXPLOTACIÓN ACTIVA
No confirmada
EXPLOIT PÚBLICO
No conocido
Qué es CVE-2026-111439
La función pg_read_binary_file_blocks() en src/common/backend/utils/adt/genfile.cpp no valida los permisos del llamador, por lo que cualquier usuario con conexión a la base puede leer bloques binarios de archivos de relación de tablas sin tener permiso SELECT. Afecta versiones entre 3.0.0 y 6.0.0 y se corrige en 7.0.0-LTS.
Productos y versiones afectadas
openGauss-server
Qué hacer
- Verificá si usás openGauss-server y en qué versión: el rango afectado figura arriba.
- Actualizá a la versión corregida que indique el fabricante en su aviso (ver referencias) o aplicá la mitigación que publique.
- Revisá registros y accesos de los sistemas expuestos para descartar que se haya aprovechado antes de corregir.
Calculadora CVSS
CVSS 3.1 · 4.3 MEDIA
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
- VECTOR DE ATAQUE (AV)
- Red
- COMPLEJIDAD DEL ATAQUE (AC)
- Baja
- PRIVILEGIOS REQUERIDOS (PR)
- Bajos
- INTERACCIÓN DEL USUARIO (UI)
- Ninguna
- ALCANCE (S)
- Sin cambio
- CONFIDENCIALIDAD (C)
- Baja
- INTEGRIDAD (I)
- Ninguna
- DISPONIBILIDAD (A)
- Ninguna
Abrir la calculadora completa →
Descripción original
在 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。
Referencias
Historial de la alerta
- VULNERABILIDAD Nueva vulnerabilidad detectada.
CÓMO SE HIZOResumen traducido automáticamente al español a partir de la descripción original. Ante dudas, la descripción original y las referencias del fabricante son la fuente de verdad. Cómo funciona.