
Le PGDG (PostgreSQL Global Development Group) a publié une mise à jour de toutes les versions supportées de PostgreSQL, incluant 17.6, 16.10, 15.14, 14.19, et 13.22, ainsi que la troisième publication bêta de PostgreSQL 18.
Cette publication corrige également 3 vulnérabilités de sécurité et plus de 55 bogues reportés dans les mois précédents.
Si vous avez précédemment créé un index BRIN utilisant la classe
d’opérateur numeric_minmax_multi_ops
, merci de consulter la section
« Mise à jour » pour les instructions additionnelles après la mise à
jour de votre instance.
Pour la liste complète des changements, se référer à la section Notes de publication.
Fin du support de la version 13 de PostgreSQL
La version 13 de PostgreSQL ne recevra plus de correctifs à partir du 13 novembre 2025. Il est donc recommandé de mettre à jour vers une version majeure vos instances en production.
Se référer à la note de versions pour plus d’informations.
Problèmes de sécurité
- CVE-2025-8713 : l’optimiseur statistique de PostgreSQL peut exposer les échantillons de données d’une vue, partition ou table fille.
CVSS v3.1 Base Score: 3.1
versions vulnérables et supportées : 13 - 17.
L’optimiseur statistique de PostgreSQL permet à un utilisateur de lire des échantillons de données dans une vue à laquelle l’utilisateur n’a pas accès. Séparément, les statistiques permettent à un utilisateur de lire des échantillons de données qu’une règle de sécurité devrait masquer. PostgreSQL maintient des statistiques pour les tables en échantillonnant les données disponibles dans les colonnes ; ces données sont consultées lors du processus de planification d’une requête. Avant cette publication, un utilisateur pouvant créer un opérateur faisant fuiter les données en outrepassant les contrôles d’accès (ACL) et les règles de sécurité (RLS) dans un contexte de partitionnement ou d’héritage de tables. Les données statistiques accessibles comprenaient notamment les histogrammes et les valeurs les plus communes. Les correctifs des CVE-2017-7484 et CVE-2019-10130 avaient pour but de mettre fin à ce type de vulnérabilités sans y parvenir. Les versions précédant PostgreSQL 17.6, 16.10, 15.14, 14.19, and 13.22 sont affectées.
Le projet PostgreSQL remercie Dean Rasheed pour avoir reporté ce problème.
- CVE-2025-8714:
l’outil
pg_dump
de PostgreSQL permet à un super-utilisateur du serveur d’origine d’exécuter du code dans l’outilpsql
.
CVSS v3.1 Base Score: 8.8
versions vulnérables et supportées : 13 - 17.
L’inclusion dans pg_dump
de données non fiables dans PostgreSQL
permet à un super-utilisateur malicieux du serveur PostgreSQL
d’origine d’injecter du code arbitraire exécutable au moment de la
restauration par le compte du système d’exploitation exécutant psql
pour restaurer le dump, via les métacommandes de psql
. pg_dumpall
est aussi affecté. pg_restore
est affecté lorsqu’il est utilisé pour
générer un dump au format texte. Ceci est similaire au CVE-2024-21096
de MySQL. Les versions précédant PostgreSQL 17.6, 16.10, 15.14,
14.19, and 13.22 sont affectées.
Le projet PostgreSQL remercie Martin Rakhmanov, Matthieu Denais, et RyotaK pour avoir reporté ce problème.
- CVE-2025-8715 :
avec l’outil
pg_dump
de PostgreSQL, un saut de ligne dans un nom d’objet permet l’exécution de code arbitraire dans le clientpsql
et dans le serveur cible lors de la restauration.
CVSS v3.1 Base Score: 8.8
versions vulnérables et supportées : 13 - 17.
La neutralisation impropre des sauts de lignes dans pg_dump
permet à
un utilisateur du serveur d’origine d’injecter du code arbitraire pour
le moment de la restauration, par le compte utilisateur du système
d’exploitation utilisant psql
pour restaurer le dump, via les
métacommandes incluses dans les noms d’objets forgés. La même méthode
d’attaque permet d’injecter du code SQL en tant que super-utilisateur
à la restauration dans le serveur cible. pg_dumpall
, pg_restore
et
pg_upgrade
sont aussi affecté. Les versions précédant PostgreSQL
17.6, 16.10, 15.14, 14.19, and 13.22 sont affectées. Les versions
avant 11.20 ne sont pas affectées. CVE-2012-0868
avait corrigé ce type de problème, mais la version 11.20 l’avait
réintroduit.
Le projet PostgreSQL remercie Noah Misch pour avoir reporté ce problème.
Corrections de bogues et améliorations
Cette mise à jour corrige plus de 60 bogues ayant été signalés durant les mois précédents. Les problèmes ci-dessous concernent PostgreSQL 17. Certains de ces problèmes peuvent aussi concerner d’autres versions de PostgreSQL.
- correction pour les index BRIN utilisant la classe d’opérateur
numeric_minmax_multi_ops operator
. Le bogue corrigé pouvait causer de la fragmentation et de l’inefficacité. Merci de consulter la section « Mise à jour » pour obtenir les instructions permettant de corriger ces index ; - plusieurs corrections concernant la réplication logique, incluant des correctifs sur des échecs d’allocation mémoire, le rejeu de transactions dupliquées, d’attente infinie, d’arrêt inattendu, et un arrêt impossible d’un serveur secondaire ;
- correction de la suppression prématurée d’anciens WAL pendant un checkpoint, ce qui pouvait impacter le processus de récupération lors de l’utilisation de slots de réplication ;
- annule un changement pouvant rejeter un document XML plus volumineux que 10MB ;
- corrige la méthode de manipulation des classes de caractères
imbriquées (i.e. [[:alpha:]%_]) des expressions
SIMILAR TO
; - rétabli la possibilité pour les expressions PL/pgSQL d’utiliser l’exécution en parallèle ;
- désactive un rare scénario dans lequel un index B-tree pourrait modifier la mauvaise entrée ;
- plusieurs correctifs concernant la commande
MERGE
, incluant des des résultats incorrects de requêtes concurrentes et lors de l’utilisation d’une table parente ; - corrige un échec de décompression sur des données n’étant pas très compressible ;
- préviens d’une boucle infinie dans un checkpoint sur des systèmes
ayant un réglage
shared_buffers
très grand ; - corrige des problèmes avec l’authentification GSSAPI lors de l’utilisation de comptes Active Directory avec beaucoup d’appartenances à des groups. Cette publication corrige aussi des échecs de connexions dépendant du temps lors de l’utilisation de SSL ou du chiffrement GSSAPI en mode non bloquant ;
- corrige une défaillance de la fonction
PQcancelCreate()
de la bibliothèquelibpq
; - corrige plusieurs fuites de ressources.
Mise à jour
Toutes les publications de mises à jour de PostgreSQL sont
cumulatives. Comme pour les autres mises à jour mineures, il n’est pas
nécessaire d’extraire et de recharger les bases de données ni
d’utiliser pg_upgrade
pour appliquer cette mise à jour ; il
suffit simplement d’arrêter PostgreSQL et de mettre à jour les
binaires.
Si vous avez des index BRIN utilisant la classe d’opérateur
numeric_minmax_multi_ops
, il est recommandé de les réindexer après
la mise à jour pour corriger la potentielle fragmentation et
inefficacité
Les utilisateurs ayant sauté une ou plusieurs mises à jour peuvent avoir besoin d’étapes additionnelles après la mise à jour. Les notes de publication des versions précédentes fournissent les détails.
Pour plus de détails, se référer à la note de publication de versions.
Note à propos de PostgreSQL 18 Bêta
Cette publication marque la troisième publication bêta de PostgreSQL 17 et rapproche d’une étape la communauté de la disponibilité probablement autour de septembre ou octobre 2025.
Dans l’esprit de la communauté PostgreSQL « open-source », nous vous encourageons fortement à tester les nouvelles fonctionnalités de PostgreSQL 18 sur vos systèmes pour nous aider à éliminer les bogues et autres problèmes existants. Bien que nous ne recommandons pas l’utilisation de PostgreSQL 18 Bêta 3 dans des environnements de production, nous vous encourageons à trouver des moyens de tester les applications avec cette version.
Vos tests et retours aideront la communauté à s’assurer que la publication de PostgreSQL 18 maintiendra nos standards pour livrer une version fiable et stable de la base de données relationnelle « open-source » la plus avancée du monde. Merci de prendre connaissance du processus de bêta test et de comment vous pouvez contribuer : https://www.postgresql.org/developer/beta/.
Mettre à jour vers PostgreSQL 18 Bêta 3
Afin de mettre à jour vers PostgreSQL 18 Bêta 3 à partir d’une
publication antérieure de PostgreSQL, vous aurez besoin d’utiliser une
stratégie similaire à la mise à jour entre versions majeures de
PostgreSQL (par exemple : pg_upgrade
ou
pg_dump
/pg_restore
). Pour plus d’information, merci de prendre
connaissance de la documentation sur la mise à jour.
Changements depuis la Bêta 2
Les corrections et changements dans PostgreSQL 18 Beta 3 incluent :
- corrige des régressions de performances sur des requêtes triviales ;
- corrige l’erreur
can't get cancellation key
observée avec quelques logiciels additionnels ; - corrige la défaillance du redémarrage d’un processus d’arrière-plan après un crash ;
- corrige un rare échec d’entrée/sortie asynchrone ;
- arrête l’export d’objets excédentaire dans
pg_dumpall --statistics-only
et--no-schema
; - retire les formats de fichiers non-texte de
pg_dumpall
; - corrige la fonction
date_trunc(..., 'infinity'::timestamptz)
sur des systèmes.
Merci de se référer aux notes de publication pour la liste complète des nouveautés et changements : https://www.postgresql.org/docs/18/release-18.html
Test pour les bogues et la compatibilité
La stabilité de chaque publication de PostgreSQL dépend grandement de vous, la communauté, en testant la version à venir avec vos charges et tests pour trouver les bogues et régressions avant la mise à disposition générale de PostgreSQL 18. En tant que Bêta, des changements mineurs du comportement de la base de données, des détails des caractéristiques et des APIs sont toujours possibles. Vos retours et tests aideront à finaliser les nouvelles caractéristiques, ainsi, merci de tester dans un futur proche. La qualité des tests utilisateurs détermine le moment de la publication finale.
Une liste de sujets ouverts est publiquement disponible dans le wiki de PostgreSQL. Vous pouvez rapporter des bogues en utilisant le site web de PostgreSQL : https://www.postgresql.org/account/submitbug/
Planing Bêta
Il s’agit de la troisième publication Béta de la version 18. Le projet PostgreSQL publiera au moins une publication candidate, avant la publication finale autour de septembre/octobre 2025. Pour plus d’information, voir la page sur les tests Bêta.
Liens
- Téléchargements
- Notes de version
- Page sur la sécurité
- Politique de version
- Information sur le Bêta Testing
- Note de publication de PostgreSQL 18 Bêta
- Problèmes connus de PostgreSQL 18
- Soumettre un bogue
- Faire un don
Si vous avez des corrections ou suggestions sur cette annonce de publication, merci de les envoyer à la mailing liste publique pgsql-www@lists.postgresql.org.