Blog

Noticias, PostgreSQL

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 con UPDATE al actualizar una columna de clave de partición y omitir la activación del trigger AFTER 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 un ANALYZE de forma simultánea.
  • Corrección de la comprobación de volatilidad de función para las expresiones GENERATED y DEFAULT.
  • 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 de postgresql.conf para la familia de parámetros lc_.
  • 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

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.

Haz clic aquí para leer la noticia original en inglés en la página web oficial de PostgreSQL.