Lanzamiento de PostgreSQL 16.2, 15.6, 14.11, 13.14, y 12.18
El Grupo Global de Desarrollo de PostgreSQL ha lanzado una actualización para todas las versiones soportadas de nuestro sistema de base de datos, incluyendo la 16.2, 15.6, 14.11, 13.14, y 12.18. Esta versión corrige una vulnerabilidad de seguridad y más de 65 errores notificados en los últimos meses.
Si utilizan índices GIN, es posible que tras la actualización a esta versión tengan que realizar un reindex. Para más información vean las notas de la versión.
Para consultar la lista completa de los cambios realizados, revisen las notas de la versión.
Problemas de seguridad
CVE-2024-0985: REFRESH MATERIALIZED VIEW CONCURRENTLY
de un usuario de PostgreSQL no-propietario ejecuta SQL arbitrario
Puntuación base CVSS v3: 8.0
Versiones soportadas vulnerables: 12 – 15.
Uno de los pasos de un comando de actualización concurrente se ejecutaba bajo restricciones de seguridad débiles. Si el propietario de una vista materializada lograba inducir a un superusuario u otro usuario con privilegios elevados a realizar una actualización concurrente en esa vista, el propietario de la vista podía controlar el código ejecutado utilizando los privilegios del usuario que ejecutaba el REFRESH
. Gracias a esta corrección de la vulnerabilidad, todo el código determinado por el usuario se ejecuta como el propietario de la vista, tal y como se esperaba.
El proyecto PostgreSQL agradece a Pedro Gallegos por reportar este problema.
Corrección de errores y mejoras
Esta actualización corrige más de 65 errores reportados en los últimos meses. Aunque los problemas que se enumeran a continuación afectan a PostgreSQL 16, es posible que algunos de ellos afecten también a otras versiones de PostgreSQL.
- Corrección de una fuga de memoria al realizar incrustaciones en línea (inlining) de JIT que podía provocar problemas de falta de memoria.
- Varias correcciones al planificador de consultas.
- Alineación del comportamiento de
MERGE
conUPDATE
al actualizar una columna de clave de partición y omitir la activación del triggerAFTER UPDATE ROW
y otras acciones posteriores a la actualización. - Corrección de problemas con nombres de token duplicados en los comandos
ALTER TEXT SEARCH CONFIGURATION ... MAPPING
. - Corrección de
DROP ROLE
con nombres de rol duplicados. - Bloqueo adecuado de la tabla asociada al realizar un
DROP STATISTICS
para evitar errores si se está ejecutando unANALYZE
de forma simultánea. - Corrección de la comprobación de volatilidad de función para las expresiones
GENERATED
yDEFAULT
. - Asegura que la intercalación coincida al vincular un índice existente a un nuevo índice particionado.
- Evita fallos que pueden producirse al eliminar un índice hijo simultáneamente a la ejecución de un
REINDEX INDEX
en un índice particionado. - Corrección del bloqueo durante la limpieza de índices GIN. En este caso, si varios procesos intentaban limpiar la misma página de un índice GIN, existía la posibilidad de que se corrompiera el índice. Si creen que han sido afectados por este problema, realicen un reindex de sus índices GIN tras la instalación de esta actualización.
- Evita fallos que pueden producirse con índices SP-GiST particionados.
- Varias correcciones relacionadas con la propiedad de objetos de gran tamaño.
- Cambio en
EXPLAIN (BUFFERS)
del nombre de los datos de control de tiempo de E/S: «shared/local» por «shared» . - Asegura la persistencia del comando
CREATE DATABASE
en caso de que se produzca un fallo de sistema durante o poco después de su ejecución. - Adición de nuevos mensajes de registro al iniciar y finalizar la restauración de un respaldo.
- Reversión de un cambio que impedía que el proceso walreceiver respondiera a
SIGTERM
mientras esperaba a que se estableciera una conexión de replicación. - Varias correcciones para la replicación lógica.
- Corrección de la incompatibilidad con OpenSSL 3.2.
- Corrección de PL/pgSQL para permitir comandos SQL
CREATE FUNCTION
/CREATE PROCEDURE
que utilicen cuerpos de función SQL-standard. - Corrección del manejo de errores en el modo pipeline de libpq.
- Asegura que
initdb
siempre descomente las entradas depostgresql.conf
para la familia de parámetroslc_
. - En
pg_dump
, no se vuelcan las políticas RLS ni las etiquetas de seguridad para objetos miembros de extensión.
Esta versión también actualiza los archivos de datos de zonas horarias a la versión tzdata 2024a para reflejar los cambios de la ley DST en Groenlandia, Kazajstán y Palestina, además de correcciones para las estaciones antárticas Casey y Vostok. También se realizan correcciones para los datos históricos de Vietnam, Toronto y Miquelón.
Actualización
Todas las actualizaciones de PostgreSQL son acumulativas. Al igual que en otras actualizaciones menores, para instalar esta actualización no es necesario realizar un volcado y volver a cargar la base de datos o usar pg_upgrade
. Es suficiente con detener PostgreSQL y actualizar los binarios.
Si utilizan índices GIN, es posible que tras la actualización a esta versión tengan que realizar un reindex. Para más información vean las notas de la versión.
Si anteriormente omitieron una o más actualizaciones, podría ser necesario seguir algunos pasos posteriores a la actualización. Para más detalles consulten las notas de las versiones anteriores.
Para más detalles, véanse las notas de la versión.
Enlaces
- Descargas
- Notas de la versión
- Seguridad
- Política de versiones
- Anuncio del lanzamiento de PostgreSQL 16
- Sigan @postgresql en Twitter
- Donaciones
Si desean proponer alguna corrección o hacer sugerencias en relación con este anuncio de lanzamiento, envíenlas a la lista de correo pública pgsql-www@lists.postgresql.org.