Blog

Noticias, PostgreSQL

Lanzamiento de PostgreSQL 17.3, 16.7, 15.11, 14.16, y 13.19

El Grupo Global de Desarrollo de PostgreSQL ha lanzado una actualización para todas las versiones soportadas de PostgreSQL, incluyendo la 17.3, 16.7, 15.11, 14.16, y 13.19. Esta versión corrige una vulnerabilidad de seguridad y más de 70 errores reportados en los últimos meses.

Para consultar la lista completa de los cambios realizados, revisen las notas de la versión.

Problemas de seguridad

CVE-2025-1094: Las API de entrecomillado de PostgreSQL no neutralizan la sintaxis de entrecomillado en texto que no supera la validación de codificación

Puntuación base CVSS v3.1: 8.1

Versiones soportadas vulnerables: 13 – 17. 

La neutralización incorrecta de la sintaxis de entrecomillado en las funciones PQescapeLiteral(), PQescapeIdentifier(), PQescapeString(), y PQescapeStringConn() de la libpq de PostgreSQL permite a un proveedor de aportaciones de bases de datos realizar una inyección SQL en determinados patrones de uso. En concreto, la inyección SQL solicita a la aplicación que utilice el resultado de la función para construir la entrada a psql, el terminal interactivo de PostgreSQL. Del mismo modo, la neutralización incorrecta de la sintaxis de entrecomillado en los programas de utilidad de línea de comandos de PostgreSQL permite que una fuente de argumentos de línea de comandos consiga la inyección SQL cuando client_encoding es BIG5 y server_encoding es uno de EUC_TW o MULE_INTERNAL. Se ven afectadas las versiones anteriores a PostgreSQL 17.3, 16.7, 15.11, 14.16 y 13.19.

El proyecto PostgreSQL agradece a Stephen Fewer, Investigador Principal de Seguridad de Rapid7 por reportar este problema.

Corrección de errores y mejoras

Esta actualización corrige más de 70 errores reportados en los últimos meses. Aunque los problemas que se enumeran a continuación afectan a PostgreSQL 17, es posible que algunos de ellos afecten también a otras versiones de PostgreSQL.

  • Restablecimiento del comportamiento de truncado anterior a la versión 17 para nombres de base de datos y nombres de usuario con más de 63 bytes en las solicitudes de conexión.
  • No se realizan comprobaciones de privilegios de conexión y límites en los workers paralelos, sino que se heredan del proceso líder.
  • Eliminación del sufijo Lock de los nombres de eventos en espera de LWLock
  • Corrección de la posible reutilización de resultados obsoletos en agregados de ventanas, que podía dar lugar a resultados incorrectos.
  • Corrección de varias condiciones de carrera para vacuum que, en el peor de los casos, podían provocar la corrupción de un catálogo de sistema.
  • Corrección de varios problemas de truncado de tablas e índices para prevenir posibles corrupciones.
  • Corrección de la desvinculación de una partición cuando su propia restricción de clave foránea hace referencia a una tabla particionada.
  • Corrección de un error relacionado con los códigos de formato FFn (por ejemplo, FF1) para to_timestamp, en el que un código de formato entero antes del FFn consumía todos los dígitos disponibles.
  • Corrección para SQL/JSON y XMLTABLE() para que entradas específicas aparezcan entre comillas dobles cuando sea necesario.
  • Inserción de la opción ldapscheme en pg_hba_file_rules().
  • Varias correcciones para UNION, que incluyen impedir la fusión de columnas con intercalaciones incompatibles.
  • Varias correcciones que podían afectar a la disponibilidad o la velocidad de inicio de una conexión a PostgreSQL.
  • Corrección de múltiples fugas de memoria en la salida de decodificación lógica.
  • Corrección de varias fugas de memoria en PL/Python.
  • Incorporación de autocompletado con tabulación para COPY (MERGE INTO) en psql.
  • Mayor resiliencia de pg_controldata al mostrar información de archivos pg_control corruptos.
  • Corrección de una fuga de memoria en pg_restore con datos comprimidos con zstd.
  • Corrección de pg_basebackup para que gestione correctamente los archivos pg_wal.tar de más de 2 GB en Windows.
  • Modificación de earthdistance para que utilice cuerpos de función estándar de SQL, lo cual soluciona posibles problemas con las actualizaciones de versiones principales a la versión 17 cuando las bases de datos utilizan esta extensión.
  • Corrección del fallo en pageinspect en los casos en que la definición de la función brin_page_items() no está actualizada a la última versión.
  • Corrección de la condición de carrera al intentar cancelar una consulta remota con postgres_fdw.

Esta versión también actualiza los archivos de datos de zonas horarias a la versión tzdata 2025a para los cambios de la ley DST en Paraguay, además de correcciones históricas para Filipinas.

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 anteriormente se 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.