PT-2026-39753 · Postgresql Global Development Group+1 · Postgresql+1

Mdisec

·

Publicado

2026-05-11

·

Atualizado

2026-06-16

·

CVE-2026-44477

CVSS v3.1

9.9

Crítica

VetorAV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
Nome do Software Vulnerável e Versões Afetadas CloudNativePG versões anteriores a 1.28.3 CloudNativePG versões anteriores a 1.29.1
Description O exportador de métricas no CloudNativePG abre uma conexão PostgreSQL como o superusuário postgres via socket Unix local do pod e, posteriormente, rebaixa a sessão usando SET ROLE pg monitor. Como o SET ROLE modifica apenas o current user enquanto o session user permanece como postgres, qualquer expressão SQL avaliada durante uma sessão de coleta (scrape) pode executar RESET ROLE para recuperar privilégios de superusuário. Um invasor pode então usar o comando COPY ... TO PROGRAM para iniciar um subprocesso no nível do sistema operacional como o usuário postgres dentro do pod primário. A flag de transação READ ONLY não impede isso, pois ela restringe apenas gravações no estado do banco de dados, não processos externos.
Existem dois caminhos principais de exploração:
  1. Consultas de métricas personalizadas com identificadores não qualificados: Um usuário que possua um esquema no search path pode implantar um objeto sombra. Quando o exportador avalia a consulta, a expressão sombra é executada com privilégios de superusuário.
  2. Configuração de monitoramento padrão: A métrica pg extensions no default-monitoring.yaml utilizava uma chamada current database() não qualificada em todos os bancos de dados de destino. Qualquer usuário sem privilégios de superusuário que possua um banco de dados de usuário poderia sombrear essa função para disparar a escalada.
Isso permite que uma função de banco de dados com baixos privilégios escale para superusuário do PostgreSQL e obtenha execução remota de código (RCE) como o usuário postgres dentro do pod primário.
Recommendations Atualize para a versão 1.28.3 ou 1.29.1. Como solução temporária, qualifique o esquema de todos os identificadores em consultas de métricas personalizadas, utilizando prefixos pg catalog. explícitos para todas as funções e visualizações de catálogo. Restrinja a propriedade do banco de dados para garantir que apenas funções totalmente confiáveis possuam bancos de dados de usuário em clusters monitorados. Limite o escopo de consultas target databases: '*' para bancos de dados específicos e conhecidamente seguros. Evite expor o SQL de consultas de métricas a usuários não confiáveis.

Correção

RCE

LPE

Untrusted Search Path

Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾

Enumeração de Fraquezas

Identificadores relacionados

CVE-2026-44477
GHSA-423P-G724-FR39

Produtos afetados

Cloudnativepg
Postgresql