LOXODATA

PostgreSQL 10.3 et autres correctifs

2018-03-05   530 mots, 3 minutes de lecture

Publication de mise à jour de sécurité

Le PostgreSQL Global Development Group a publié une mise à jour de sécurité pour toutes les versions supportées du système de gestion de base de données PostgreSQL. Les mises à jour incluent les versions 10.3, 9.6.8, 9.5.12, 9.4.17 et 9.3.22.

L’objectif de cette publication est de corriger l’alerte de sécurité CVE-2018-1058. Cette alerte explique comment un utilisateur peut créer des objets aux noms identiques dans différents schémas, et ainsi altérer le comportement des requêtes d’autres utilisateurs. Ce qui peut aboutir à des comportements inattendus ou malicieux.

Cette faille est aussi connue sous le nom d’attaque de type Cheval de Troie.

La plus grande partie de cette publication est dédiée à la documentation de description de la faille et à la façon de limiter son impact sur la base de données PostgreSQL.

Nous recommandons fortement à tous les utilisateurs de lire “A Guide to CVE-2018-1058: Protect Your Search Path” Un guide pour CVE-2018-1058 : Protégez votre Search_Path pour une explication détaillée de l’alerte CVE-2018-1058 et les moyens de protéger vos installations PostgreSQL .

Après évaluation de la documentation CVE-2018-1058, les administrateurs de base de données pourront suivre les étapes post-installation pour s’assurer qu’ils sont protégés contre cette faille de sécurité.

Problèmes de sécurité

Une vulnérabilité a été prise en compte dans cette version.

  • CVE-2018-1058 : Élément de search path hors contrôle dans pg_dump et autres applications clientes

La page A Guide to CVE-2018-1058: Protect Your Search Path donne une explication plus détaillée de la faille.

Correction de bugs et améliorations

Cette mise à jour corrige plusieurs bugs rapportés depuis la dernière mise à jour cumulative. Certains de ces points n’affectent que la version 10, cependant la plupart affectent toutes les versions supportées. Ces corrections comprennent :

  • Empêcher la réplication logique de tenter de répliquer des changements pour des relations non publiables, comme des vues matérialisées et les vues du schéma “information_schema” ;
  • Correction pour qu’une Common Table Expression (clause WITH) retourne des résultats corrects lorsqu’elle est référencée dans des sous-plans où ont lieu des re-vérifications de mises à jour concurrentes ;
  • Correction d’une erreur inattendue du planificateur de requêtes dans certains cas de clauses de fusion se chevauchant dans un OUTER JOIN ;
  • Correction d’une corruption potentielle de données avec les vues matérialisées après l’utilisation de pg_upgrade. En cas d’erreur de type “could not access status of transaction” ou “found xmin from before relfrozenxid” sur des vues matérialisées, l’utilisation de “REFRESH MATERIALIZED VIEW” sans “CONCURRENTLY” permet de corriger le problème ;
  • Plusieurs corrections pour pg_dump, incluant une correction nécessaire aux futurs travaux sur les statistiques partagées entre tables ;
  • Correction sur la remontée de la trace de pile en PL/Python lorsque l’on est à l’intérieur de fonctions internes écrites en PL/Python ;
  • Extension de contrib/auto_explain jusqu'à INT_MAX, ce qui permet d’atteindre environ 24 jours  ;
  • Marquage des variables de configuration comme PGDLLIMPORT pour faciliter le portage de modules d’extension sous Windows.

Remerciements

Le PostgreSQL Global Development Group souhaite remercier Arseniy Sharoglazov qui a porté l’alerte de sécurité CVE-2018-1058 à la connaissance de l'équipe de sécurité.

Liens