postgreSQL

Hace poco PostgreSQL dio a conocer la noticia de que ha liberado varias actualizaciones correctivas para todas las ramas de PostgreSQL admitidas hasta el momento, las cuales son las versiones 14.3, 13.7, 12.11, 11.16 y 10.22.

Las nuevas versiones ofrecen más de 50 correcciones de los cuales algunos de estos problemas también pueden afectar a otras versiones compatibles de PostgreSQL.

  • El problema que podría provocar la corrupción de los índices GiST en las ltreecolumnas. Después de la actualización, deberá volver a indexar los índices GiST en las ltree columnas.
  • Solución al redondeo incorrecto al extraer valores de época de los intervaltipos.
  • Solución a la salida incorrecta para tipos timestamptzy timetzen table_to_xmlschema().
  • Solución a los errores relacionados con un problema del planificador que afectó las consultas remotas asincrónicas.
  • Corrección a ALTER FUNCTION para admitir el cambio de la propiedad de paralelismo de una función y su SETlista de variables en el mismo comando.
  • Solución a la clasificación incorrecta de las filas de la tabla cuando se usa CLUSTERen un índice cuya clave inicial es una expresión.
  • Solución el riesgo de fallas de interbloqueo al descartar un índice particionado.
  • Corrección a la condición de carrera entre DROP TABLESPACEy los puntos de control que podrían fallar al eliminar todos los archivos muertos del directorio del espacio de tabla.
  • Solución un problema potencial en la recuperación de fallas después de un comando TRUNCATE que se superpone con un punto de control.
  • Solución a la falla PANIC: xlog flush request is not satisfied durante la promoción en espera cuando falta un registro de continuación de WAL.
  • Corrección de la posibilidad de bloqueo automático en el manejo de conflictos en modo de espera en caliente.

Ademas de ello, estas nuevas versiones correctivas tambien resuelven la vulnerabilidad CVE-2022-1552 relacionada con la capacidad de omitir el aislamiento de ejecución de las operaciones privilegiadas Autovacuum, REINDEX, CREATE INDEX, REFRESH MATERIALIZED VIEW, CLUSTER y pg_amcheck.

Se menciona que sobre la vulnerabilidad solucionada en estas versiones correctivas, dicho problema detectado permitía a un atacante que tiene la autoridad para crear objetos no temporales en cualquier esquema de almacenamiento puede ejecutar funciones SQL arbitrarias con privilegios de superusuario mientras el usuario privilegiado realiza las operaciones anteriores que afectan el objeto del atacante.

Incluso la explotación de la vulnerabilidad puede ocurrir cuando la base de datos se limpia automáticamente cuando se ejecuta el controlador de autovacuum.

Si no puede realizar una actualización, como solución alternativa para bloquear el problema, puede deshabilitar el vacío automático y no realizar las operaciones REINDEX, CREATE INDEX, REFRESH MATERIALIZED VIEW y CLUSTER como usuario root y no ejecutar la utilidad pg_amcheck  y no restaurar el contenido de una copia de seguridad creada por la utilidad pg_dump.

La ejecución de VACUUM se considera segura, al igual que el uso de cualquier operación de comando, si los objetos que se procesan pertenecen a usuarios de confianza.

Otros cambios en las nuevas versiones incluyen la actualización del código JIT para que funcione con LLVM 14, lo que permite el uso de plantillas de base de datos de esquema de valores en el formato de época recuperados de datos de tipo intervalo, comportamiento incorrecto del programador cuando se usan consultas remotas asincrónicas, clasificación incorrecta de filas de tablas cuando se usa una expresión CLUSTER en índices basados ​​en expresiones, pérdida de datos en fallas inmediatamente después de construir un GiST ordenado índice, interbloqueo en la eliminación del índice particionado, una condición de carrera entre la operación DROP TABLESPACE y la confirmación de estado (punto de control).

Además, se puede destacar el lanzamiento de la extensión pg_ivm 1.0 con la implementación del soporte IVM (Incremental View Maintenance) para PostgreSQL 14. IVM ofrece una forma alternativa de actualizar vistas materializadas, más eficiente si los cambios afectan una pequeña parte de la vista.

IVM permite actualizar instantáneamente vistas materializadas con solo cambios incrementales aplicados a ellas, sin volver a calcular la vista, lo que se hace usando la operación «REFRESH MATERIALIZED VIEW».

Finalmente si estás interesado en poder conocer más al respecto de esta nueva versión, puedes consultar los detalles en el siguiente enlace.

 

Fuente: ubunlog

¿Quién está en línea?

Hay 28305 invitados y ningún miembro en línea