A Tecnisys participou do PGConf.Brasil 2019
5 de agosto de 2019WSO2 API Microgateway 3.0 para um desenvolvimento mais fácil, maior escalabilidade
12 de agosto de 2019O PostgreSQL Global Development Group lançou uma atualização para todas as versões suportadas do sistema de banco de dados, incluindo 11.5, 10.10, 9.6.15, 9.5.19 e 9.4.24, bem como o terceiro beta do PostgreSQL 12. Esta versão corrige dois problemas de segurança no servidor PostgreSQL, dois problemas de segurança encontrados em um dos instaladores do PostgreSQL no Windows e mais de 40 bugs relatados desde o lançamento anterior.
Os usuários devem instalar essas atualizações o mais rápido possível.
Problemas de Segurança
Quatro vulnerabilidades de segurança foram fechadas por esta versão:
• CVE-2019-10208: TYPE no pg_temp executa SQL arbitrário durante a execução do SECURITY DEFINER
Versões Afetadas: 9,4 – 11
Dada uma função adequada do SECURITY DEFINER, um invasor pode executar SQL arbitrário sob a identidade do proprietário da função. Um ataque requer permissão de EXECUTE na função, que deve conter uma chamada de função com correspondência de tipo de argumento inexata. Por exemplo, length(‘foo’::varchar) e length(‘foo’) são inexatos, enquanto length(‘foo’::text) é exato. Como parte da exploração dessa vulnerabilidade, o invasor usa o CREATE DOMAIN para criar um tipo em um esquema pg_temp. O padrão de ataque e a correção são semelhantes aos do CVE-2007-2138 .
As funções de escrita SECURITY DEFINER continuam a exigir seguindo as considerações observadas na documentação:
https://www.postgresql.org/docs/devel/sql-createfunction.html#SQL-CREATEFUNCTION-SECURIT Y
O projeto PostgreSQL agradece a Tom Lane por reportar este problema.
• CVE-2019-10209: Divulgação de memória em comparação de tipo cruzado para subplano com hash
Versões Afetadas: 11
Em um banco de dados que contém operadores de igualdade de hash definidos pelo usuário, um invasor pode ler bytes arbitrários da memória do servidor. Para que um ataque se torne possível, um superusuário precisaria criar operadores incomuns. É possível que os operadores que não são feitos sob medida para ataques tenham a propriedades que permitem um ataque, mas não temos conhecimento de exemplos específicos.
O projeto PostgreSQL agradece a Andreas Seltenreich por reportar este problema.
• CVE-2019-10210: O instalador do Windows EnterpriseDB grava a senha de superusuário do PostgreSQL em um arquivo temporário desprotegido
Versões Afetadas: O instalador do Windows EnterpriseDB para as versões 9.4 – 11
O instalador do Windows EnterpriseDB grava uma senha em um arquivo temporário em seu diretório de instalação, cria bancos de dados iniciais e exclui o arquivo. Durante esses segundos enquanto o arquivo existe, um invasor local pode ler a senha do superusuário do PostgreSQL no arquivo.
O projeto PostgreSQL agradece a Noah Misch por relatar esse problema.
• CVE-2019-10211: Instalador do Windows do EnterpriseDB incluído OpenSSL executa o código do diretório desprotegido
Versões Afetadas: O instalador do Windows EnterpriseDB para as versões 9.4 – 11
Quando o servidor de banco de dados ou a biblioteca cliente libpq inicializa o SSL, o libeay32.dll tenta ler a configuração de um diretório codificado. Normalmente, o diretório não existe, mas qualquer usuário local pode criá-lo e injetar a configuração. Essa configuração pode direcionar o OpenSSL para carregar e executar código arbitrário como o usuário que está executando um servidor ou cliente do PostgreSQL. A maioria das ferramentas e bibliotecas de cliente do PostgreSQL usam a libpq, e é possível encontrar essa vulnerabilidade usando qualquer uma delas. Esta vulnerabilidade é muito parecida com a CVE-2019-5443, mas é originada de forma independente. Pode-se contornar a vulnerabilidade definindo a variável de ambiente OPENSSL_CONF como “NUL: /openssl.cnf” ou qualquer outro nome que não possa existir como um arquivo.
O projeto PostgreSQL agradece a Daniel Gustafsson, da equipe de segurança da curl, por relatar esse problema.
Correções de bugs e melhorias
Esta atualização também corrige mais de 40 bugs que foram 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:
• Correção para ALTER TABLE … ALTER COLUMN TYPE quando vários tipos de coluna são modificados em um único comando. Esse problema foi introduzido na atualização cumulativa anterior (11.4, 10.9, 9.6.14, 9.5.18, 9.4.23 e 12 beta 2).
• Assegure-se de que as colunas da chave de partição não sejam descartadas como resultado de uma “queda indireta”, como de uma cascata de descarte do tipo de dados da coluna-chave (por exemplo, um tipo de dados customizado). Essa correção é aplicada somente a tabelas particionadas recém-criadas: se você acredita ter uma tabela de partição afetada (por exemplo, uma em que a chave de partição usa um tipo de dados personalizado), será necessário criar uma tabela e mover seus dados para ela.
• Evite descartar o gatilho de uma tabela particionada se houver eventos de gatilho pendentes em partições filhas. Isso afeta particularmente as restrições de chave estrangeira, que são implementadas por gatilhos.
• Várias correções adicionais para particionamento, incluindo uma correção para remoção de partição que poderia levar a consultas ineficientes.
• Correção para junções de hash paralelas que podem levar a linhas de resultado duplicadas em queries EXISTS.
• Várias correções para o planejador de query.
• Várias correções para problemas que levariam a deadlocks de consulta.
• Correção para chaves estrangeiras com várias colunas ao recriar uma restrição de chave estrangeira.
• Evitar que estatísticas estendidas sejam criadas para tabelas herdadas.
• Correção para a canonização de intervalos de datas que incluem -infinity/infinity endpoints para garantir que o comportamento corresponda à documentação.
• Corrige perda de dígitos fracionários ao converter valores monetários muito grandes para numéricos.
• Correção para funções PL/pgSQL que retornam tipos compostos.
• Faça a libpq ignorar o retorno de carro r nos arquivos de serviço de conexão, o que estava causando falhas de conexão em alguns casos de borda.
• Várias correções para psql, o que inclui evitar opções de conclusão de tabulação incorretas depois SET variable =.
• Melhore a confiabilidade da contrib/amcheck’s verificação do índice.
• Defina initdb para preferir o comportamento de fuso horário definido pela biblioteca C em vez do que é definido por localtime ou posixrules. Isso garante que o PostgreSQL use o nome do fuso horário “real” em vez de um nome artificial.
• Correção pg_dumppara garantir que as classes do operador personalizado sejam descartadas na ordem correta para evitar a criação de um dump não restaurável.
• Corrige o possível bloqueio pgbench ao usar a opção -R.
• Corrige o código do assembly de spinlock para CPUs MIPS para que ele funcione no MIPS r6.
Esta atualização também contém a versão 2019b do tzdata para mudanças na lei do DST no Brasil, além de correções históricas para Hong Kong, Itália e Palestina. Esta atualização também adiciona suporte para a nova opção -b slim do zic para reduzir o tamanho dos arquivos de zona instalados, embora não esteja sendo usado atualmente pelo PostgreSQL.
Para mais detalhes, você pode ler a cópia completa das notas de lançamento aqui:
https://www.postgresql.org/about/news/1960/