Containers, Dockers, Kubernetes e Openshift auxiliando na escalabilidade de suas aplicações
13 de junho de 2019Seus Dados estão protegidos?
24 de junho de 2019No dia 20 de junho de 2019, a Global Development Group lançou a atualização das versões 11.4, 10.9, 9.6.14, 9.5.18, 9.4.23, bem como, a versão beta do PostgreSQL 12. O lançamento da versão não estava programado, porém, foi necessária para corrigir um problema de segurança e mais 25 bugs desde a atualização cumulativa do mês de maio.
Problemas de Segurança
A versão elimina uma vulnerabilidade de segurança:
-
CVE-2019-10164: Estouro de buffer baseado em pilha através da configuração de uma senha
Versões afetadas: 10, 11 e 12 beta.
Um usuário autenticado poderia criar um estouro de buffer baseado em pilha, alterando sua própria senha para um valor criado com propósito malicioso. Além da capacidade de travar o servidor PostgreSQL, isso poderia ser mais explorado para executar código arbitrário como a conta do sistema operacional PostgreSQL.
Além disso, um servidor não autorizado poderia enviar uma mensagem especificamente criada durante o processo de autenticação do SCRAM e fazer com que um cliente habilitado para libpq falhasse ou executasse um código arbitrário como a conta do sistema operacional do cliente.
Este problema é resolvido atualizando e reiniciando seu servidor PostgreSQL bem como, suas instalações da libpq. Todos os usuários que executam o PostgreSQL 10, 11 e 12 beta são solicitados a atualizar o mais rápido possível.
Correções de bugs e melhorias
Esta atualização também corrige mais de 25 bugs desde a atualização de maio. Alguns desses problemas afetam apenas a versão 11, porém, muitos afetam todas as versões compatíveis.
Algumas dessas correções incluem:
-
Corrige erros variados na remoção de partições em tempo de execução que podem levar a respostas erradas em consultas em tabelas particionadas;
-
O pg_dump agora recria partições de tabela usando CREATE TABLE e em ALTER TABLE .. ATTACH PARTITION em vez de incluir PARTITION OF no comando de criação;
-
Aprimora como o initdb determina qual fuso horário do sistema selecionar se houver nomes equivalentes para o fuso horário. Também prefere explicitamente o UTC ao UCT;
-
Corrige possíveis falhas ao tentar copiar as definições da trigger para uma nova partição;
-
Corrige uma falha de ALTER TABLE .. ALTER COLUMN TYPE quando a tabela tem uma restrição de exclusão parcial;
-
Corrige falha do comando COMMENT para comentários em domínios;
-
Várias correções relacionadas à agregação;
-
Corrige uma flaha na geração de planos merge-append que poderiam levar a erros como “could not find pathkey item to sort“;
-
Corrige falhas no dump/restore quando views continham consultas com nomes de junção duplicados;
-
Corrige a conversão de strings JSON para colunas de saída do tipo JSON em json_to_record() e json_populate_record();
-
Corrige otimização incorreta de quantificadores {1,1} em expressões regulares;
-
Corrige problema em índices B-tree durante otimização de colunas usadas na cláusula INCLUDE, que se manifesta com erros durante o VACUUM. Se você for afetado por esse problema, precisará reindexar o índice específico;
-
Corrige a condição de corrida para verificar se um segmento de memória compartilhada preexistente ainda está em uso por um postmaster em conflito;
-
Correção para o processo walreceiver que evita um travamento ou impasse no desligamento;
-
Evita a possibilidade de travamento na libpq se estiver usando SSL e o buffer de dados pendentes do OpenSSL conter um múltiplo exato de 256 bytes;
-
Corrige a ordenação de comandos GRANT emitidos por pg_dump e pg_dumpall para bancos de dados e tablespaces;
-
Corrige a emissão de erros falsos no comando reindexdb;
-
Certifica-se de que vacuumdb retorne o status correto se ocorrer um erro ao usar jobs paralelos;
-
Correção do módulo contrib/auto_explain para não causar problemas em consultas paralelas, resultando em erros como “could not find key N in shm TOC“;
-
Considera possíveis modificações de dados para BEFORE ROW UPDATE triggers locais em contrib/postgres_fdw;
-
No Windows, evita falhas quando a codificação do banco de dados estiver definida como SQL_ASCII e tenta-se registrar no log uma string não-ASCII.
Todas as versões de atualização do PostgreSQL são cumulativas. Tal como acontece com outras versões menores, os usuários não são obrigados a despejar e recarregar seu banco de dados ou usar pg_upgrade para aplicar esta versão de atualização; você pode simplesmente desligar o PostgreSQL e atualizar seus binários.