A Tecnisys foi certificada no Nível 3 do MPT.Br
16 de maio de 2019Tecnologia OpenSource na criação de Clouds públicas e privadas: Afinal, o que é o OpenStack?
4 de junho de 2019O Grupo de Desenvolvimento Global do PostgreSQL lançou uma atualização para todas as versões suportadas do PostgreSQL, incluindo 11.3, 10.8, 9.6.13, 9.5.17 e 9.4.22. Esta versão corrige dois problemas de segurança no servidor PostgreSQL, um problema de segurança encontrado em dois dos instaladores do PostgreSQL no Windows e mais de 60 bugs relatados nos últimos três meses.
Os usuários que instalaram o PostgreSQL usando os instaladores do Windows do EnterpriseDB e do BigSQL, respectivamente, devem atualizar o mais rápido possível. Da mesma forma, os usuários que estão executando qualquer versão do PostgreSQL 9.5, 9.6, 10 e 11, também devem planejar a atualização assim que possível.
É recomendado também que outros usuários planejem e apliquem essa atualização no próximo tempo de inatividade programado.
Problemas de Segurança
Quatro vulnerabilidades de segurança foram corrigidas:
-
CVE-2019-10127: O instalador do BigSQL Windows não limpa entradas de ACL permissivas;
-
CVE-2019-10128: O instalador do Windows do EnterpriseDB não limpa entradas de ACL permissivas.
Como os instaladores de EnterpriseDB e do BigSQL Windows não bloqueiam as permissões do diretório de instalação binária do PostgreSQL e do diretório de dados, uma conta de usuário sem privilégios do Windows e uma conta do PostgreSQL sem privilégios podem fazer com que a conta do PostgreSQL execute um código arbitrário.
Esta vulnerabilidade está presente em todas as versões suportadas do PostgreSQL para esses instaladores e possivelmente, existe em versões mais antigas. Os dois conjuntos de instaladores corrigiram as permissões desses diretórios para instalações novas e existentes. Se você instalou o PostgreSQL no Windows usando outros métodos, é aconselhável que verifique se os diretórios binários do PostgreSQL são graváveis apenas para usuários confiáveis e se os diretórios de dados estão acessíveis apenas a usuários confiáveis.
-
CVE-2019-10129: Acesso a dados de memória no roteamento de partição.
Antes desta versão, um usuário executando o PostgreSQL 11 pode ler bytes arbitrários de memória do servidor executando uma instrução INSERT criada para fins específicos em uma tabela particionada.
-
CVE-2019-10130: Os estimadores de seletividade ignoram as políticas de segurança de linha.
O PostgreSQL mantém estatísticas para tabelas, mostrando dados disponíveis em colunas; esses dados são consultados durante o processo de planejamento de consultas. Antes desta versão, um usuário capaz de executar consultas SQL, com permissões para ler uma determinada coluna, poderia criar um operador com vazamento que pudesse ler quaisquer dados que tivessem sido mostrados naquela coluna. Se isso incluir valores de linhas que o usuário é proibido de ver por uma política de segurança de linha, o usuário poderá efetivamente ignorar a política. Isso é resolvido apenas permitindo que um operador, que não é à prova de vazamentos, use esses dados se não houver políticas de segurança de linhas relevantes para a tabela.
Correção de Bugs e Melhorias
Esta atualização também corrige mais de 60 bugs relatados nos últimos meses. Alguns desses problemas afetam apenas a versão 11, mas muitos afetam todas as versões compatíveis.
Algumas dessas correções incluem:
-
Várias correções de corrupção de catálogos, incluindo uma relacionada à execução
ALTER TABLE
em uma tabela particionada; -
Correções para particionamento;
-
Evita quaisquer tipos de falha no servidor quando ocorre um erro ao tentar persistir uma consulta de cursor em uma confirmação de transação;
-
Evita o problema de desempenho O(N^2) ao reverter uma transação que criou muitas tabelas
-
Correção de possível falhas “não foi possível acessar o status da transação” em
txid_status()
-
Correção de views atualizáveis para manipular itens DEFAULT explícitos em
INSERT .. VALUES,
instruções nas quais existem várias linhas VALUES; -
Correção do CREATE VIEW para permitir views de coluna zero;
-
Adiciona suporte ausente para a instrução
CREATE TABLE IF NOT EXISTS .. AS EXECUTE ..
; -
Certifica que os sub-SELECTs que aparecem nas expressões de política de segurança em nível de linha sejam executadas com as permissões do usuário correto;
-
Aceita documentos XML como valores válidos do tipo xml quando xmloption é definido como conteúdo, conforme exigido pelo SQL: 2006 e posterior;
-
Corrige a incompatibilidade de registros WAL do índice GIN introduzidos em 11.2, 10.7, 9.6.12, 9.5.16 e 9.4.21 que afetavam servidores de réplica que executavam essas versões, lendo alterações em índices GIN de servidores primários de versões antigas;
-
Várias correções de vazamento de memória, bem como, correções no gerenciamento da memória compartilhada dinâmica;
-
Controle as falhas de fsync e sync_file_range para certos casos em que uma falha indica “operação não suportada”;
-
Correções para o planejador de consulta, várias das quais devem levar as melhorias de planejamento;
-
Correção da condição em que uma réplica pode falhar ao encerrar após receber uma solicitação de encerramento do tipo “smart”;
-
Várias correções para autenticação SCRAM;
-
Correção do tratamento de configurações
lc_time
que implicam em uma codificação diferente da codificação do banco de dados; -
Cria o arquivo
current_logfiles
com as mesmas permissões que outros arquivos no diretório de dados do servidor; -
Correções de ecpg;
-
Faz com que o
pg_verify_checksums
verifique se
o diretório de dados para o qual ele está apontando é da versão correta do PostgreSQL; -
Correções para
contrib/postgres_fdw
, incluindo uma para partições remotas, onde um UPDATE poderia levar a resultados incorretos ou a um travamento; -
Várias correções para o Windows.
Esta atualização também contém a versão 2019a do tzdata para mudanças na lei do horário de verão na Palestina e em Metlakatla, além de correções históricas para Israel. Etc/UCT agora um link de compatibilidade com versões anteriores para Etc/UTC, em vez de ser uma zona separada que gera a abreviação UCT, que hoje em dia é tipicamente um erro de digitação. O PostgreSQL ainda aceitará a UCT como uma abreviação da zona de entrada, mas não irá imprimi-lo.