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
oidvectordivulgue 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
intarraymanquant 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
pgcryptopermettant 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 colonneltree, 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 CONSTRAINTpour ajouter une contrainteNOT NULLà une colonne déjà marquée commeNOT NULLnécessite désormais que le nom de la contrainte corresponde au nom de la contrainte existante; - correction du comportement du déclencheur lorsque
MERGEest exécuté à partir d’une requêteWITHafin d’inclure les lignes affectées parMERGE; - 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 PUBLICATIONpour 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_methodpour contrôler l’utilisation deposix_fallocate(); - correction de la complétion auto de l’utilitaire
psqlpour les options de la commandeVACUUM; - correctif pour
pg_dumppour 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
amcheckconcernant l’inspectionbtree; - empêcher le plantage de
pg_stat_statementslorsqu’une listeINcontient à 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
- Téléchargements
- Notes de version
- Page sur la sécurité
- Politique de version
- 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.