CVE-2026-111439 in openGauss-server
Sumário
de VulDB • 19/10/2026
No módulo `src/common/backend/utils/adt/genfile.cpp` do openGauss-server, a função integrada `pg_read_binary_file_blocks()` apresenta uma falha na lógica de verificação de permissões. Esta função verifica apenas o intervalo dos parâmetros número inicial do bloco (`startBlockNum`) e quantidade de blocos (`blockCount`) no ponto de entrada, chamando em seguida diretamente a rotina de leitura de arquivos subjacente `ReadBinaryFileBlocksFirstCall()`. Essa rotina subjacente executa apenas uma verificação de normalização de caminho e verificações básicas contra travessia de diretórios com `..` e limites do diretório de dados, faltando a verificação das permissões de banco de dados do chamador (como a permissão SELECT). Além disso, a função auxiliar `is_row_data_file()` é usada apenas para identificar o tipo de arquivo e não inclui verificações de permissões. Portanto, qualquer usuário com privilégios normais de conexão ao banco de dados pode ler diretamente os blocos binários dos dados da tabela sem possuir a permissão SELECT correspondente à tabela, desde que consiga obter o caminho do arquivo de relação subjacente da tabela alvo (por exemplo, o caminho do arquivo `_compress` para dados compactados) por meio de funções como `pg_relation_filepath()`.
Esta vulnerabilidade afeta todas as versões entre 3.0.0 e 6.0.0, bem como suas versões corrigidas, sendo resolvida na versão 7.0.0-LTS. O patch de correção está disponível em: https://gitcode.com/opengauss/openGauss-server/pull/9374.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.