A equipe de desenvolvimento global do PostgreSQL lançou uma atualização para todas as versões atualmente suportadas : 15.4, 14.9, 13.12, 12.16 e 11.21, bem como a terceira versão beta do PostgreSQL 16. Esta versão corrige duas falhas de segurança e corrige mais de 40 bugs relatados nos últimos meses.
Se você usar índices BRIN para procurar valores, precisará reindexá-losNULL
após atualizar para esta versão . No PostgreSQL 12 e posterior, você pode evitar o bloqueio de gravações em índices e tabelas afetados com, por exemplo:REINDEX CONCURRENTLY
REINDEX INDEX CONCURRENTLY your_index_name;
Para obter uma lista completa de alterações, consulte as notas de versão .
PostgreSQL 11 Aviso EOL
O PostgreSQL 11 deixará de receber correções em 9 de novembro de 2023. Se você estiver executando o PostgreSQL 11 em produção, é recomendável planejar a atualização para uma versão compatível mais recente do PostgreSQL. Consulte Política de controle de versão para obter mais informações.
Pergunta de segurança
CVE-2023-39417 : Scripts estendidos em referências @substitutions@
permitem injeção de SQL.
Versões vulneráveis com suporte: 11 - 15. As equipes de segurança geralmente não testam versões sem suporte, mas esse problema existe há muito tempo.
Os scripts de extensão são vulneráveis se forem usados dentro de construções de aspas ( cotação de dólar, ''
ou ) ""
. Existem vulnerabilidades para extensões que não são agrupadas. De fato, existem lacunas nos exemplos de documentação e nas extensões não incluídas. Portanto, um pré-requisito para o ataque é que o administrador instale o arquivo de extensão vulnerável, confiável e não incluído. Sob esse pré-requisito, um invasor com privilégios no nível do banco de dados pode executar código arbitrário como um superusuário de autoinicialização. O PostgreSQL impedirá esse ataque no servidor núcleo, portanto, não há necessidade de modificar extensões individuais. @extowner@
@extschema@
@extschema:...@
CREATE
CVE-2023-39418 : MERGE
Não é possível impor UPDATE
ou SELECT
impor políticas de segurança.
Versões vulneráveis suportadas: 15.
O PostgreSQL 15 introduziu MERGE
comandos que falham ao testar novas linhas em relação à política de segurança de linha definida para UPDATE
e . SELECT
Os usuários podem armazenar determinadas linhas se UPDATE
uma SELECT
política as proibir, mas INSERT
a política não. As consequências subsequentes dependem da aplicação. Isso afeta apenas CREATE POLICY
os bancos de dados usados para definir políticas de segurança de linha.
Correções de bugs e melhorias
Os problemas listados abaixo afetam o PostgreSQL 15, alguns dos quais também podem afetar outras versões suportadas do PostgreSQL.
- Corrigida
NULL
a manipulação de valores em índices BRIN . Este reparo não se aplica a índices BRIN existentes - os usuários precisarão executarREINDEX
para reparar quaisquer índices BRIN usados para pesquisar valores NULL. - Evite deixar um banco de dados corrompido quando DROP DATABASE for interrompido.
- Várias correções para índices particionados.
- Correção do bug se a extensão contiver algum objeto fora do esquema de extensão
ALTER EXTENSION ... SET SCHEMA
. - Correção do rastreamento de dependência para métodos de acesso à tabela.
- Não use índices parcialmente exclusivos no planejador para provar a exclusividade.
- Trate adequadamente expressões de política RLS e sub-SELECTs em exibições de barreira de segurança ao estender ações de regra.
- Corrija
SERIALIZABLE
as condições de corrida na detecção de conflito do modo de isolamento da transação. - Corrige falha intermitente ao tentar atualizar campos de colunas compostas que exigem TOASTing fora de linha .
- Corrija vários vazamentos de memória que ocorreram durante o ciclo de vida da consulta.
datetime()
Aceite segundos fracionários na entrada para métodos jsonpath .- Aumentou o limite de token em
pg_hba.conf
epg_ident.conf
para 10.240 bytes. - Erros de falta de memória do JIT agora resultarão em
FATAL
erros do PostgreSQL em vez de exceções C++. VACUUM
Permite a continuação após a detecção de certos tipos de corrupção do índice da árvore B. Embora esse reparo permita que o VACUUM continue, os usuários ainda precisamREINDEX
reparar os índices corrompidos.- Evite a repetição dupla de transações preparadas durante a recuperação de falhas.
- Certifique-se de que o ponto de verificação chame fsync em tabelas vazias recém-criadas.
- Silencie erros de "ausência de registro" para evitar o registro de mensagens imprecisas de
pg_waldump
e .walsender
- Conserte a função [fuzzystrmatch]( https://www.postgresql.org/docs/current/fuzzystrmatch.html Soundex) para manipular entradas vazias corretamente.
difference()
- Várias correções para
intarray
, incluindo a proibição de matrizes de entrada excessivamente grandes em índices GiST. - Correção
pg_dump
para lidar corretamente com corpos de função padrão SQL ( ) que dependem de índices exclusivos quando a análise é necessáriaBEGIN ATOMIC
.
Para obter uma lista completa das alterações disponíveis, consulte as notas de versão .
Correções no PostgreSQL 16 Beta 3
psql
Adicione comandos para\drg
exibir informações sobre autorização de função.pg_waldump --save-fullpage
Adicione o ID da linha do tempo ao nome do arquivo gerado usando .- Correção de travamento após impasse no trabalhador VACUUM paralelo.
Consulte as notas de versão para obter uma lista completa de recursos novos e alterados.
Endereço de download: https://www.postgresql.org/download/