Paris, le 13 novembre 2025

Le PostgreSQL Global Development Group a publié le 13 novembre une mise à jour pour toutes les versions supportées de PostgreSQL, c’est-à-dire les versions 18.1, 17.7, 16.11, 15.15, 14.20 et 13.23. Cette mise à jour corrige 2 failles de sécurité et plus de 50 bugs remontés ces derniers mois.

visuel annonce

Annonce de fin de vie de PostgreSQL 13

Cette mise à jour est la dernière mise à jour pour PostgreSQL 13 qui ne recevera désormais plus de corrections de bugs et de failles de sécurité. Si vous utilisez PostgreSQL 13 en production, nous vous conseillons de planifier la migration vers une version plus récente et supportée. Voir la politique de versionnement pour plus de détails.

Sécurité

  • CVE-2025-12817 : La commande CREATE STATISTICS ne vérifie pas la présence du privilège CREATE sur les schémas
    CVSS v3.1 Base Score : 3.1
    Version supportées vulnérables : 13 - 18

    L’absence de vérification de certaines autorisations dans la commande CREATE STATISTICS permet au propriétaire d’une table de réaliser un déni de service contre d’autres utilisateurs de CREATE STATISTICS en créant l’objet dans n’importe quel schéma. Les CREATE STATISTICS suivants, portant le même nom, et provenant d’un autre utilisateur ayant lui le privilège de création sur le schéma, échouent alors. Les versions précédant PostgreSQL 18.1, 17.7, 16.11, 15.15, 14.20, et 13.23 sont concernées.

    Le projet PostgreSQL remercie Jelte Fennema-Nio d’avoir rapporté ce problème.

  • CVE-2025-12818 : La libpq sous-dimensionne les allocations à cause d’un rebouclage d’entier
    CVSS v3.1 Base Score : 5.9
    Versions supportées vulnérables : 13 - 18

    Des rebouclages d’entiers dans plusieurs fonctions de la librairie libpq autorisaient un utilisateur d’une application à forcer la libpq à sous-dimensionner des allocations et à provoquer des écritures dépassant les zones mémoires allouées de plusieurs centaines de méga-octets. Cela se traduisait par une erreur de segmentation pour les applications utilisant la libpq. Les versions précédant PostgreSQL 18.1, 17.7, 16.11, 15.15, 14.20, et 13.23 sont concernées.

    Le projet PostgreSQL remercie Aleksey Solovev (Positive Technologies) d’avoir rapporté ce problème.

Correctifs et améliorations

Cette mise à jour corrige plus de 50 bugs remontés ces derniers mois. Les problèmes ci-dessous concernent PostgreSQL 18. Certains peuvent concerner d’autres versions supportées.

  • Éviter de renvoyer des lignes dupliquées lors des hash right semi-joins.
  • Éviter de possibles erreurs de mémoire insuffisante lors de la création d’index GIN en parallèle.
  • Plusieurs corrections dans les index BRIN.
  • Corrections de crashs liés aux tables partitionnées, dont un qui survient durant une nouvelle vérification.
  • Éviter la duplication de contraintes sur des partitions par hachage pendant DETACH CONCURRENTLY, ce qui causait des problèmes lors du dump/restore ou si une table parent était supprimée après DETACH.
  • Interdit les colonnes générées dans les clés de partition et dans les clauses COPY ... FROM ... WHERE.
  • Correction de l’information de retard de réplication incorrecte dans la vue pg_stat_replication.
  • Éviter les échecs lorsque synchronized_standby_slots fait référence à des slots de réplication inexistants.
  • Éviter l’arrêt indésirable du WAL receiver lors du passage d’une source en streaming à l’archivage des WAL.
  • Éviter l’invalidation inutile des slots de réplication logique.
  • Correction de la gestion de GROUP BY DISTINCT dans des ordres d’affectation en PL/pgSQL.
  • Éviter une fuite de mémoire dans la gestion d’erreurs SQL en PL/Python.
  • Dans la libpq, correction dans la gestion des erreurs liées à la socket sur Windows dans GSSAPI.
  • Correction dans la sauvegarde (dump) des contraintes NOT NULL non héritées sur des colonnes de table héritées.
  • Garantit un ordre consistant des contraintes de clés étrangères dans la sortie de pg_dump.
  • Plusieurs correctifs dans la gestion et le rapport d’erreurs dans pgbench.
  • Correction d’une fuite mémoire dans pg_combinebackup.
  • Les non-superutilisateurs avec le privilège SELECT sur une table peuvent à présent utiliser pg_prewarm pour précharger les index de celle-ci.

Mettre à jour

Toutes les mises à jour de PostgreSQL sont cumulatives. Comme pour les autres versions mineures, les utilisateurs n’ont pas besoin de sauvegarder et recharger leur base de données, ni d’utiliser pg_upgrade pour appliquer la mise à jour. Vous pouvez simplement arrêter PostgreSQL et mettre à jour ses binaires.

Les utilisateurs ayant sauté une version mineure ou plus peuvent avoir besoin de réaliser d’autres opérations post-mise à jour. Voir les notes des versions précédentes pour les détails.

Liens


DALIBO

DALIBO est le spécialiste français de PostgreSQL®. Nous proposons du support, de la formation et du conseil depuis 2005.