Lanzamiento de PostgreSQL 17.6, 16.10, 15.14, 14.19, 13.22, y 18 Beta 3
El Grupo Global de Desarrollo de PostgreSQL ha lanzado una actualización para todas las versiones soportadas de PostgreSQL, entre ellas la 17.6, 16.10, 15.14, 14.19, y 13.22, así como la tercera versión beta de PostgreSQL 18. Esta versión corrige tres vulnerabilidades de seguridad y más de 55 errores reportados en los últimos meses.Si previamente se había creado un índice BRIN utilizando la clase de operador numeric_minmax_multi_ops
, se recomienda consultar la sección «Actualización» para obtener instrucciones adicionales que deberán seguirse tras actualizar la instancia.
Para ver la lista completa de cambios, revisen las notas de la versión.
Aviso de EOL para PostgreSQL 13
PostgreSQL 13 dejará de recibir correcciones el 13 de noviembre de 2025. Si están ejecutando PostgreSQL 13 en un entorno de producción, les sugerimos que hagan planes para actualizar a una versión más reciente y soportada de PostgreSQL. Para más información, consulten nuestra política de versiones.
Problemas de seguridad
CVE-2025-8713: Las estadísticas del optimizador de PostgreSQL pueden revelar datos de muestra presentes en una vista, partición o tabla hija
Puntuación base CVSS v3.1: 3.1
Versiones soportadas vulnerables: 13 – 17.
Las estadísticas del optimizador de PostgreSQL permiten al usuario leer datos de muestra dentro de una vista a la que no tiene acceso. Además, las estadísticas permiten al usuario leer datos de muestra que una política de seguridad de registro pretende ocultar. PostgreSQL elabora estadísticas de tablas basándose en muestras de datos existentes en columnas; estos datos son utilizados en la planificación de consultas. Antes de esta versión, un usuario podía elaborar un operador con fugas que eludía las listas de control de acceso (ACL) de las vistas y las políticas de seguridad de registros en las jerarquías de partición o herencia de tablas. Los datos estadísticos accesibles incluían, en particular, histogramas y listas de valores más comunes. Aunque las CVE-2017-7484 y CVE-2019-10130 se proponían solucionar este tipo de vulnerabilidad, la brecha seguía existiendo. Están afectadas las versiones anteriores a PostgreSQL 17.6, 16.10, 15.14, 14.19 y 13.22.
El proyecto PostgreSQL agradece a Dean Rasheed por reportar este problema.
CVE-2025-8714: pg_dump
de PostgreSQL permite que el superusuario del servidor de origen ejecute código arbitrario en el cliente psql
.
Puntuación base CVSS v3.1: 8.8
Versiones soportadas vulnerables: 13 – 17.
La inclusión de datos no confiables a través de la herramienta pg_dump de PostgreSQL, podría ser aprovechada por un superusuario malintencionado del servidor de origen para inyectar código arbitrario que sería ejecutado durante la restauración, utilizando la cuenta del sistema operativo cliente que ejecuta psql, mediante meta-comandos de psql. pg_dumpall también se ve afectado. pg_restore se ve afectado al ser utilizado para generar un volcado en formato plano. Se trata de una vulnerabilidad similar a la CVE-2024-21096 de MySQL. Se ven afectadas las versiones anteriores a PostgreSQL 17.6, 16.10, 15.14, 14.19 y 13.22.
El proyecto PostgreSQL agradece a Martin Rakhmanov, Matthieu Denais, y RyotaK por reportar este problema.
CVE-2025-8715: Un salto de línea en el nombre de un objeto en pg_dump
de PostgreSQL puede ejecutar código arbitrario tanto en el cliente psql
como en el servidor de destino durante la restauración
Puntuación base CVSS v3.1: 8.8
Versiones soportadas vulnerables: 13 – 17.
La neutralización incorrecta de los saltos de línea en pg_dump de PostgreSQL permite que un usuario del servidor de origen inserte código arbitrario que se ejecutará al restaurar un respaldo, usando la cuenta del sistema operativo del cliente que ejecuta psql, a través de meta-comandos insertados en un nombre de objeto diseñado específicamente para ese fin. Los mismos ataques pueden provocar una inyección SQL con privilegios de superusuario en el servidor de destino de la restauración. pg_dumpall, pg_restore y pg_upgrade también se ven afectados. Se ven afectadas las versiones anteriores a PostgreSQL 17.6, 16.10, 15.14, 14.19 y 13.22. Las versiones anteriores a la 11.20 no se ven afectadas. Aunque la CVE-2012-0868 había solucionado este tipo de problema, la versión 11.20 lo reintrodujo.
El proyecto PostgreSQL agradece a Noah Misch por reportar este problema.
Corrección de errores y mejoras
Esta actualización corrige más de 55 errores reportados en los últimos meses. Aunque los problemas enumerados a continuación afectan a PostgreSQL 17, es posible que algunos de ellos afecten también a otras versiones soportadas de PostgreSQL.
- Corrección del problema en los índices BRIN que utilizan la clase de operador
numeric_minmax_multi_ops
, el cual podía provocar un sobredimensionamiento y una pérdida de eficiencia. Consulten la sección «Actualización» para instrucciones sobre cómo corregir estos índices. - Varias correcciones para la replicación lógica, incluidas correcciones para fallos en la asignación de memoria, reproducción duplicada de transacciones, espera infinita, apagado inesperado y un standby imposible de apagar.
- Corrección de la eliminación prematura de WAL antiguos durante un checkpoint, lo cual podría afectar los procesos de recuperación al utilizar slots de replicación.
- Reversión de un cambio que podía rechazar documentos XML de más de 10 MB de tamaño.
- Corrección del manejo de clases de caracteres anidadas (por ejemplo,
[[:alpha:]%_]
) en expresionesSIMILAR TO
. - Restablecimiento de la capacidad de las expresiones PL/pgSQL de utilizar la ejecución paralela.
- Se evita una situación poco habitual en la que un índice B-tree podría modificar la entrada incorrecta.
- Varias correcciones para
MERGE
, que incluyen resultados de consulta incorrectos en situaciones de concurrencia y al apuntar a una tabla que actúa como padre en una jerarquía de herencia. - Corrección del error de descompresión LZ4 que podía producirse al procesar datos con baja compresibilidad
- Prevención de un bucle infinito en los checkpoints de sistemas con valores muy altos de
shared_buffers
. - Corrección de problemas con la autenticación GSSAPI al usar cuentas de Active Directory con múltiples pertenencias a grupos. Esta versión también soluciona fallos de conexión dependientes del tiempo al utilizar cifrado SSL o GSSAPI en modo no bloqueante.
- Corrección de una caída en la función
PQcancelCreate()
de libpq. - Corrección de varias fugas de recursos.
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 se dispone de índices BRIN que utilizan la clase de operador numeric_minmax_multi_ops
, es recomendable realizar un REINDEX
tras la actualización para corregir cualquier posible sobredimensionamiento e ineficiencia.
Si anteriormente se omitieron una o más actualizaciones, podría ser necesario seguir algunos pasos posteriores a la actualización. Encontrarán detalles adicionales en las notas de las versiones anteriores.
Para más detalles, véanse las notas de la versión.
Nota sobre PostgreSQL 18 Beta
Con este lanzamiento se publica la tercera versión beta de PostgreSQL 18, lo cual acerca aún más a la comunidad a la disponibilidad general prevista aproximadamente para septiembre/octubre de 2025.
De acuerdo con el espíritu de la comunidad de código abierto de PostgreSQL, recomendamos encarecidamente que prueben las nuevas características de PostgreSQL 18 en sus sistemas. Esto nos ayudará a eliminar errores u otros posibles problemas. Aunque no recomendamos ejecutar PostgreSQL 18 Beta 3 en un entorno de producción, les invitamos a encontrar formas de ejecutar esta versión beta con cargas de trabajo típicas de sus aplicaciones.
Sus pruebas y comentarios ayudarán a la comunidad a asegurar que PostgreSQL 18 cumpla con nuestros estándares de entrega de una versión estable y confiable de la base de datos relacional de código abierto más avanzada del mundo. Por favor, lean más sobre nuestro proceso de pruebas beta y cómo pueden contribuir en:
https://www.postgresql.org/developer/beta/
Actualizar a PostgreSQL 18 Beta 3
Para actualizar a PostgreSQL 18 Beta 3 desde una versión previa de PostgreSQL, deberán utilizar una estrategia similar a la empleada para la actualización entre versiones principales de PostgreSQL (por ejemplo, pg_upgrade
o pg_dump
/ pg_restore
). Para más información, vean la documentación, en la sección sobre actualizaciones.
Cambios desde la versión Beta 2
Las correcciones y cambios en PostgreSQL 18 Beta 3 incluyen:
- Corrección de la regresión del rendimiento en consultas triviales.
- Corrección del error
can't get cancellation key
que se produce con algunos softwares adicionales. - Corrección para los background workers que no se reinician tras una caída del sistema.
- Corrección de un fallo de E/S asíncrono poco frecuente.
- Se evita el volcado de objetos innecesarios en
pg_dumpall
con las opciones--statistics-only
y--no-schema
. - Se eliminan los formatos de archivo de salida no textuales de
pg_dumpall
. - Corrección de
date_trunc(..., 'infinity'::timestamptz)
en sistemas de 32 bits.
Para obtener una lista completa de las características nuevas y modificadas, consulten las notas de la versión:
https://www.postgresql.org/docs/18/release-18.html
Pruebas de errores y compatibilidad
La estabilidad de cada versión de PostgreSQL depende en gran medida de que ustedes, la comunidad, prueben la próxima versión con sus cargas de trabajo y herramientas de prueba para detectar errores y regresiones antes del lanzamiento oficial de PostgreSQL 18. Dado que se trata de una versión beta, aún es posible que se produzcan cambios en los comportamientos de la base de datos, los detalles de las funciones y las API. Sus impresiones y pruebas ayudarán a determinar los ajustes finales de las nuevas funciones, así que les rogamos que la prueben lo antes posible. La calidad de las pruebas de los usuarios contribuirá a definir el momento en el que podamos lanzar la versión final.
Una lista de problemas abiertos está disponible al público en el wiki de PostgreSQL. Pueden reportar errores usando el siguiente formulario en el sitio web de PostgreSQL:
https://www.postgresql.org/account/submitbug/
Calendario de la versión beta
Este es el tercer lanzamiento beta de la versión 18. El Proyecto PostgreSQL publicará una o más versiones candidatas, antes del lanzamiento de la versión definitiva previsto para septiembre/octubre de 2025. Para más información, consulten la página de Pruebas Beta.
Enlaces
- Descargas
- Notas de la versión
- Seguridad
- Política de versiones
- Información sobre las pruebas beta
- Notas de la versión beta de PostgreSQL 18
- Problemas abiertos de PostgreSQL 18
- Reporte de errores
- 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