PostgreSQL 11.3 et 10.8 sont disponibles en téléchargement et corrigent plus de 60 bogues,
signalés au cours des trois derniers mois

« Le groupe de développement mondial PostgreSQL a publié une mise à jour de toutes les versions prises en charge de notre système de base de données, notamment 11.3, 10.8, 9.6.13, 9.5.17 et 9.4.22. Cette version corrige deux problèmes de sécurité sur le serveur PostgreSQL, un problème de sécurité rencontré dans deux des programmes d’installation Windows de PostgreSQL, et plus de 60 bogues signalés au cours des trois derniers mois.

« Les utilisateurs qui ont installé PostgreSQL en utilisant les programmes d’installation Windows d’EnterpriseDB et de BigSQL doivent procéder à la mise à niveau dès que possible. De même, les utilisateurs qui exécutent une version quelconque de PostgreSQL 9.5, 9.6, 10 et 11 doivent également planifier la mise à niveau dès que possible ».

Les problèmes de sécurité

Quatre vulnérabilités de sécurité ont été corrigées par cette version:
  • CVE-2019-10127: Le programme d'installation de BigSQL Windows ne supprime pas les entrées de liste de contrôle d'accès permissives
  • CVE-2019-10128: Le programme d'installation de Windows EnterpriseDB ne supprime pas les entrées ACL permissives

Étant donné que les installateurs Windows d'EnterpriseDB et de BigSQL n'ont pas verrouillé les autorisations du répertoire d'installation binaire de PostgreSQL et du répertoire de données, un compte utilisateur Windows sans privilège et un compte PostgreSQL sans privilège peuvent provoquer l'exécution de code arbitraire par le compte de service PostgreSQL.

Cette vulnérabilité est présente dans toutes les versions prises en charge de PostgreSQL pour ces programmes d'installation et existe peut-être dans des versions plus anciennes. Les deux ensembles d'installateurs ont corrigé les autorisations pour ces répertoires pour les installations nouvelles et existantes. Si vous avez installé PostgreSQL sur Windows en utilisant d’autres méthodes, il est conseillé de vérifier que vos répertoires binaires PostgreSQL ne sont accessibles en écriture qu’aux utilisateurs de confiance et que vos répertoires de données ne sont accessibles qu’aux utilisateurs de confiance.

Le projet PostgreSQL remercie Conner Jones d’avoir signalé ce problème.

CVE-2019-10129: Divulgation de la mémoire dans le routage de partition

Avant cette version, un utilisateur exécutant PostgreSQL 11 pouvait lire des octets arbitraires de la mémoire du serveur en exécutant une instruction INSERT spécialement conçue sur une table partitionnée.

CVE-2019-10130: Les estimateurs de sélectivité contournent les politiques de sécurité des lignes

PostgreSQL maintient les statistiques pour les tables en échantillonnant les données disponibles en colonnes; ces données sont consultées lors du processus de planification de la requête. Avant cette version, un utilisateur capable d'exécuter des requêtes SQL avec les autorisations de lire une colonne donnée pouvait créer un opérateur présentant des fuites capable de lire toutes les données échantillonnées dans cette colonne. Si cela incluait des valeurs de lignes que l'utilisateur ne pouvait pas voir par une stratégie de sécurité de ligne, l'utilisateur pourrait contourner la stratégie. Ce problème est résolu en autorisant uniquement un opérateur non étanche à utiliser ces données s'il n'existe aucune stratégie de sécurité de ligne pertinente pour la table.

Nom : post.png
Affichages : 1657
Taille : 42,3 Ko

Corrections de bogues et améliorations

Cette mise à jour corrige également plus de 60 bogues signalés au cours des derniers mois. Certains de ces problèmes concernent uniquement la version 11, mais beaucoup concernent toutes les versions prises en charge.

Certaines de ces corrections incluent:
  • Plusieurs correctifs de corruption de catalogue, notamment celui lié à l'exécution d'ALTER TABLE sur une table partitionnée
  • Plusieurs correctifs pour le partitionnement
  • Éviter le plantage du serveur lorsqu'une erreur se produit lors de la tentative de maintien d'une requête de curseur lors d'une validation de transaction
  • Éviter les problèmes de performances O (N ^ 2) lors de l'annulation d'une transaction ayant créé de nombreuses tables
  • Correction des échecs possibles « impossible d'accéder au statut de la transaction » dans txid_status()
  • Correction des vues pouvant être mises à jour pour gérer les éléments DEFAULT explicites dans les instructions INSERT .. VALUES comportant plusieurs lignes VALUES
  • Correction de CREATE VIEW pour autoriser les vues sans colonne
  • Ajout du support manquant pour l'instruction CREATE TABLE IF NOT EXISTS .. AS EXECUTE ..
  • Nous nous sommes assuré que les sous-sélections apparaissant dans les expressions de stratégie de sécurité au niveau de la ligne sont exécutées avec les autorisations de l'utilisateur correct
  • Nous avons accepté les documents XML en tant que valeurs valides de type xml lorsque xmloption est défini sur content, comme requis par SQL: 2006 et versions ultérieures
  • Correction de l'incompatibilité des enregistrements WAL d'index GIN introduits dans 11.2, 10.7, 9.6.12, 9.5.16 et 9.4.21 qui affectaient les serveurs de répliques exécutant ces versions en lisant les modifications apportées aux index GIN à partir des serveurs principaux d'anciennes versions
  • Plusieurs correctifs liés aux fuites de mémoire et à la gestion de la mémoire partagée dynamique
  • Nous avons assoupli les paniques sur les échecs fsync et sync_file_range dans certains cas où un échec indiquait "opération non prise en charge"
  • Plusieurs correctifs apportés au planificateur de requêtes, dont plusieurs devraient permettre une amélioration de la planification
  • Correction du problème de concurrence critique dans lequel un administrateur de poste de secours automatique pouvait ne pas s'arrêter après avoir reçu une demande d'arrêt intelligent
  • Plusieurs correctifs pour l'authentification SCRAM
  • Correction du traitement des paramètres lc_time impliquant un codage différent de celui de la base de données
  • Nous avons créé le fichier current_logfiles avec les mêmes autorisations que les autres fichiers du répertoire de données du serveur.
  • Plusieurs corrections d'ecpg
  • Nous nous sommes assuré que pg_verify_checksums vérifie que le répertoire de données indiqué est bien à la version PostgreSQL
  • Plusieurs correctifs pour contrib / postgres_fdw, y compris un correctif pour les partitions distantes pour lesquelles une mise à jour pourrait entraîner des résultats incorrects ou un blocage.
  • Plusieurs corrections de Windows

Concernant les mises à jour

Le projet rappelle que toutes les versions de mise à jour PostgreSQL sont cumulatives. Comme pour les autres versions mineures, les utilisateurs ne sont pas obligés de vider et de recharger leur base de données, ni d'utiliser pg_upgrade pour appliquer cette version de mise à jour. vous pouvez simplement arrêter PostgreSQL et mettre à jour ses fichiers binaires.

Les utilisateurs ayant ignoré une ou plusieurs versions de mise à jour peuvent avoir besoin d'exécuter des étapes supplémentaires après la mise à jour. Si vous vous retrouvez dans cette catégorie, il serait indiqué de consulter les notes de version des versions antérieures pour plus de détails.

L’équipe rappelle que PostgreSQL 9.4 ne recevra plus de correctifs à partir du 13 février 2020.

Télécharger PostgreSQL (Windows, macOS, Linux, solaris, BSD)

Source : note de version

Voir aussi :

Azure Data Studio, l'éditeur open source d'interface graphique développé par Microsoft, prend en charge en préversion PostgreSQL
Red Hat Satellite va se séparer de MongoDB Community Edition et conservera PostgreSQL comme base de données unique
Depuis 20 ans, PostgreSQL aurait mal utilisé fsync(), compromettant la cohérence des données, des solutions ont été proposées au FOSDEM 2019
Microsoft fait l'acquisition de Citus Data l'extension qui transforme PostgreSQL en une base de données distribuée