Blog

Noticias

¡Lanzamiento de PostgreSQL 13.2, 12.6, 11.11, 10.16, 9.6.21 y 9.5.25!

El Grupo Global de Desarrollo de PostgreSQL ha lanzado una actualización para todas las versiones soportadas de nuestro sistema de base de datos, entre ellas la 13.2, 12.6, 11.11, 10.16, 9.6.21 y 9.5.25. Con este lanzamiento se solucionan dos vulnerabilidades de seguridad y se corrigen más de 80 errores reportados en los últimos tres meses.

Además, esta es la versión final de PostgreSQL 9.5. Si estás utilizando PostgreSQL 9.5 en un entorno de producción, te sugerimos hacer planes para actualizar a una versión superior. 

Para consultar la lista completa de los cambios, por favor, revisa las notas de la versión.

 

Problemas de seguridad


CVE-2021-3393: Errores que generan fugas de información en los valores de las columnas denegadas debido a violaciones en las restricciones de partición.

Versiones afectadas: 11 – 13.

Un usuario que disponga de privilegios UPDATE para una tabla particionada, aunque carezca de privilegios SELECT para alguna columna, puede tener acceso a valores de columnas denegadas a través de un mensaje de error. Se trata de una vulnerabilidad parecida a la CVE-2014-8161, aunque las condiciones para explotarla son más raras.

El proyecto PostgreSQL agradece a Heikki Linnakangas por reportar este problema.

 

CVE-2021-20229: El privilegio SELECT para una sola columna permite consultar todas las columnas

Versiones afectadas: 13.

Un usuario que tenga un privilegio SELECT para una determinada columna puede elaborar una consulta especial que devuelva todas las columnas de la tabla.

Además, una vista almacenada que utilice privilegios a nivel de columna presentará bitmaps incompletos sobre el uso de la columna. En las instalaciones que recurren a permisos a nivel de columna como medida de seguridad, se recomienda ejecutar CREATE OR REPLACE en todas las vistas definidas por el usuario con el fin de forzarlas a un nuevo análisis.

El proyecto PostgreSQL agradece a Sven Klemm por reportar este problema.

 

Corrección de errores y mejoras


Esta actualización corrige más de 80 errores reportados en los últimos meses. Aunque algunos de estos afectan únicamente a la versión 13, también podrían aplicarse a otras versiones compatibles.

A continuación se enumeran algunas de estas correcciones:

  • Corrección de un problema con los índices GiST en el que las inserciones concurrentes podían generar un índice corrupto cuyas entradas se colocaban en páginas incorrectas. Es necesario realizar un REINDEX de los índices GiST afectados.
  • Corrección de CREATE INDEX CONCURRENTLY para asegurar que las filas de las transacciones concurrentes preparadas estén incluidas en el índice. Las instalaciones que han habilitado las transacciones preparadas deben realizar un REINDEX de los índices creados de forma concurrente.
  • Corrección de posibles resultados de consulta incorrectos al transferir una agregación hash al disco.
  • Corrección de un caso límite en el ordenamiento incremental que podía conducir a un ordenamiento incorrecto de los resultados o al mensaje de error «retrieved too many tuples in a bounded sort«.
  • Impide el bloqueo al ejecutar una sentencia CALL o DO que realice un rollback de la transacción a través de un protocolo de consulta extendido, como el de las sentencias preparadas.
  • Corrección de una falla que se producía cuando un procedimiento PL/pgSQL utilizaba CALL en otro procedimiento que contenía parámetros OUT que ejecutaban un COMMIT o un ROLLBACK.
  • Se han eliminado los errores de los triggers BEFORE UPDATE en las tablas particionadas para las restricciones que ya no son aplicables.
  • Corrección de varias consultas con joins que podían generar mensajes de error como «no relation entry for relid N» o «failed to build any N-way joins«.
  • Al intentar paralelizar los ordenamientos, serán ignoradas las funciones restringidas o de devolución de conjuntos incluidas en las expresiones ORDER BY.
  • Corrección de ALTER DEFAULT PRIVILEGES para manejar los argumentos duplicados de forma segura.
  • Corrección de varios inconvenientes que se producían al configurar wal_level con el valor minimal, incluyendo la reescritura de tablas dentro de una transacción.
  • Varias correcciones para CREATE TABLE LIKE.
  • Asegura que el espacio de disco asignado a una relación que ha sido eliminada (por ejemplo, una tabla) se libere rápidamente al confirmarse la transacción.
  • Corrección en los reportes de progreso para CLUSTER.
  • Corrección en el manejo de los caracteres multibyte con barra invertida en COPY FROM.
  • Corrección de las condiciones de carrera introducidas recientemente en el manejo de la cola LISTEN/NOTIFY.
  • Permite que el operador de concatenación jsonb (||) maneje todas las combinaciones de tipos de datos JSON.
  • Corrección de la lógica de lectura de WAL que permite que los standbys manejen correctamente los cambios de timeline. Este problema podría presentarse con mensajes de error como «requested WAL segment has already been removed«.
  • Corrección de varias fugas de memoria en el proceso de walsender relativas a la decodificación lógica y a la replicación.
  • Asegura que un valor no vacío de krb_server_keyfile prevalezca siempre sobre cualquier configuración de KRB5_KTNAME en el entorno del servidor
  • Varias correcciones para el soporte de cifrado GSS.
  • Asegura que el comando \connect admita el uso de una contraseña en el argumento connection_string.
  • Corrección de varios errores relativos al comando \help.
  • Varias correcciones para pg_dump.
  • Asegura que pg_rewind incluya todos los WAL al rebobinar un servidor standby.
  • Corrección de una fuga de memoria en contrib/auto_explain.
  • Asegura que todas las conexiones postgres_fdw estén cerradas si el mapeo de usuario o el objeto de servidor externo del que dependen son eliminados.
  • Corrección en la compilación JIT para que sea compatible con LLVM 11 y LLVM 12.

Esta actualización incluye también la versión tzdata 2021a relativa a los cambios en la normativa DST de Rusia (zona de Volgogrado) y Sudán del Sur, además de correcciones históricas para Australia, Bahamas, Belice, Bermudas, Ghana, Israel, Kenia, Nigeria, Palestina, Seychelles y Vanuatu.

En especial, se ha corregido la zona Australia/Currie que es ahora idéntica a la zona Australia/Hobart.

Para consultar la lista completa de los cambios disponibles, consulta las notas de la versión.

 

PostgreSQL 9.5 llegó a su EOL


Esta es la versión final de PostgreSQL 9.5. Si estás utilizando PostgreSQL 9.5 en un entorno de producción, te sugerimos hacer planes para actualizar a una versión más reciente y soportada de PostgreSQL. Para más información consulta nuestra política de versiones.

 

Actualización


Todas las actualizaciones de PostgreSQL son acumulativas. Al igual que en otras actualizaciones menores, no es necesario realizar un dump y volver a cargar la base de datos. Tampoco es necesario el uso de pg_upgrade para instalar esta actualización. Es suficiente con detener PostgreSQL y actualizar los binarios.

Si anteriormente se omitieron una o más actualizaciones, podría ser necesario seguir algunos pasos posteriores a la actualización. Para más detalles consulta las notas de las versiones anteriores.

Para más detalles, véanse las notas de la versión.

NOTA: PostgreSQL 9.6 dejará de recibir correcciones el 11 de noviembre de 2021. Para más información, véase nuestra política de versiones.

 

Enlaces


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