LOXODATA

PostgreSQL 18.2 et autres correctifs

2026-02-13   1147 mots, 6 minutes de lecture

Le PGDG (PostgreSQL Global Development Group) a publié une mise à jour de toutes les versions supportées de PostgreSQL, incluant 18.2, 17.8, 16.12, 15.16, et 14.21.

Cette publication corrige également 5 vulnérabilités de sécurité et plus de 65 bogues reportés dans les mois précédents.

Pour la liste complète des changements, se référer à la section Notes de publication.

Problèmes de sécurité

  • CVE-2026-2003 : Le type oidvector divulgue quelques octets de mémoire.

CVSS v3.1 Base Score: 4.3

versions vulnérables et supportées : 14 - 18.

Une validation incorrecte du type oidvector dans PostgreSQL permet à un utilisateur de la base de données de divulguer quelques octets de la mémoire du serveur. Nous n’avons pas exclu la possibilité d’attaques visant à obtenir des informations confidentielles dans les octets divulgués, mais celles-ci semblent peu probables. Les versions antérieures à PostgreSQL 18.2, 17.8, 16.12, 15.16 et 14.21 sont concernées.

Le projet PostgreSQL remercie Altan Birler pour avoir reporté ce problème.

  • CVE-2026-2004 : L’extension intarray manquant une validation du type d’entrée vers l’estimateur de sélectivité permettant l’exécution de code arbitraire.

CVSS v3.1 Base Score: 8.8

versions vulnérables et supportées : 14 - 18.

L’absence de validation du type d’entrée dans la fonction d’estimation de la sélectivité de l’extension intarray permet à un créateur d’objet d’exécuter du code arbitraire en tant qu’utilisateur du système d’exploitation exécutant la base de données. Les versions antérieures à PostgreSQL 18.2, 17.8, 16.12, 15.16 et 14.21 sont concernées.

Le projet PostgreSQL remercie Daniel Firer durant le zeroday.cloud, pour avoir reporté ce problème.

  • CVE-2026-2005 : Débordement de la mémoire tampon de l’extension pgcrypto permettant l’exécution de code arbitraire

CVSS v3.1 Base Score: 8.8

versions vulnérables et supportées : 14 - 18.

Un débordement de la mémoire tampon dans l’extension pgcrypto permet à un fournisseur de texte chiffré d’exécuter un code arbitraire en tant qu’utilisateur du système d’exploitation exécutant la base de données. Les versions antérieures à PostgreSQL 18.2, 17.8, 16.12, 15.16 et 14.21 sont concernées.

Le projet PostgreSQL remercie l’équipe Xint Code durant le zeroday.cloud pour avoir reporté ce problème.

  • CVE-2026-2006 : Absence de validation de la longueur des caractères multioctets permettant l’exécution de code arbitraire.

CVSS v3.1 Base Score: 8.8

versions vulnérables et supportées : 14 - 18.

L’absence de validation de la longueur des caractères multioctets dans la manipulation de texte PostgreSQL permet à un utilisateur de la base de données d’émettre des requêtes spécialement conçues pour provoquer un dépassement de tampon. Cela suffit pour exécuter du code arbitraire en tant qu’utilisateur du système d’exploitation exécutant la base de données. Les versions antérieures à PostgreSQL 18.2, 17.8, 16.12, 15.16 et 14.21 sont concernées.

Le projet PostgreSQL remercie Paul Gerste et Moritz Sanft durant le zeroday.cloud pour avoir reporté ce problème.

  • CVE-2026-2007 : Le débordement de la mémoire tampon de l’extension pg_trgm écrit un motif dans la mémoire du serveur.

CVSS v3.1 Base Score: 8.2

versions vulnérables et supportées : 18.

Un débordement de la mémoire tampon dans l’extension pg_trgm permet à un utilisateur de la base de données d’obtenir des effets inconnus via une chaîne de caractères spécialement conçue. L’attaquant a un contrôle limité sur les modèles d’octets à écrire, mais nous n’avons pas exclu la possibilité d’attaques conduisant à une élévation des privilèges. Les versions antérieures à PostgreSQL 18.1 et 18.0 sont concernées.

Le projet PostgreSQL remercie Heikki Linnakangas pour avoir reporté ce problème.

Corrections de bogues et améliorations

Cette mise à jour corrige plus de 65 bogues ayant été signalés durant les mois précédents. Les problèmes ci-dessous concernent PostgreSQL 18. Certains de ces problèmes peuvent aussi concerner d’autres versions de PostgreSQL.

  • correction de la correspondance incohérente de texte insensible à la casse dans l’extension ltree. Si vous utilisez un index sur une colonne ltree, vous devrez peut-être, dans certains cas, effectuer une réindexation. Reportez-vous à la section « Mise à jour » pour obtenir des instructions supplémentaires;
  • la commande ALTER TABLE ... ADD CONSTRAINT pour ajouter une contrainte NOT NULL à une colonne déjà marquée comme NOT NULL nécessite désormais que le nom de la contrainte corresponde au nom de la contrainte existante;
  • correction du comportement du déclencheur lorsque MERGE est exécuté à partir d’une requête WITH afin d’inclure les lignes affectées par MERGE;
  • correctifs sur le planificateur de requêtes;
  • correction de la recherche de sous-chaînes de texte pour les collations non déterministes;
  • correctifs pour la gestion et le signalement des erreurs NOTIFY;
  • utilisation de la fonction de tri correcte dans les constructions parallèles d’index GIN;
  • correction du traitement incorrect des sauvegardes incrémentales avec des tables de plus de 1 Go;
  • arrêt de la restauration si le WAL n’existe pas jusqu’au point de reprise indiqué par l’enregistrement du checkpoint;
  • correctif pour ALTER PUBLICATION pour garantir que les déclencheurs d’événements contiennent toutes les options définies;
  • correctifs concernant l’initialisation des slots de réplication;
  • mise en pause du slot de réplication après un échec d’application d’un worker parallèle de réplication logique afin d’éviter la perte de transactions côté abonné;
  • correctif du rapport d’erreurs pour les incompatibilités de type de chemin SQL/JSON;
  • correction de l’inlining de la fonction de compilation JIT lors de l’utilisation de LLVM 17 ou ultérieure;
  • ajout d’un nouveau paramètre serveur file_extend_method pour contrôler l’utilisation de posix_fallocate();
  • correction de la complétion auto de l’utilitaire psql pour les options de la commande VACUUM;
  • correctif pour pg_dump pour gérer correctement les suppressions simultanées de séquences et échouer si l’utilisateur appelant ne dispose pas explicitement des privilèges nécessaires pour lire la séquence;
  • correctifs pour amcheck concernant l’inspection btree;
  • empêcher le plantage de pg_stat_statements lorsqu’une liste IN contient à la fois des constantes et des expressions non constantes;

Cette publication met également à jour les fichiers de données de fuseaux horaires vers la version 2025c de tzdata, qui ne comporte qu’une modification des données historiques pour les horodatages antérieurs à 1976 à Baja, en Californie.

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 sur des colonnes ltree et n’utilisant pas le fournisseur de collation libc, après la mise à jour vers la dernière version, vous devrez réindexer les données de type ltree. Vous pouvez utiliser REINDEX INDEX CONCURRENTLY pour réduire l’impact sur votre système.

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.

Liens

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.