TOOLinux

Le journal du Libre

Nouvelles versions mineures de PostgreSQL publiées

mardi 26 mai 2015

Elles corrigent notamment 3 failles de sécurité (toutes versions) et 1
risque de corruption des données (branches 9.3 et 9.4).

Correctif de la corruption de données

Les utilisateurs des versions 9.3 et 9.4 sont concernés par ce correctif. Les
versions 9.2 ou précédentes ne sont pas affectées.

La mise à jour corrige le problème du bouclage d’identifiant « multixact »
("multixact wraparound"), qui induit une corruption ou une perte de données.
Les utilisateurs dont le taux de transactions est très élevé (1 million par
heure) sur des bases ayant de nombreuses clés étrangères sont
particulièrement vulnérables.

Il est plus que recommandé de procéder aux mises à jour des installations
dans les prochains jours.

Correctifs de sécurité

Cette mise à jour corrige trois failles de sécurité rapportées ces derniers
mois. Aucune n’est particulièrement urgente. Toutefois, il est conseillé aux
utilisateurs de vérifier si leurs installations sont concernées.

- CVE-2015-3165 Double libération de mémoire après timeout d’authentification.
- CVE-2015-3166 Erreurs imprévues de la bibliothèque standard
- CVE-2015-3167 pgcrypto contient plusieurs messages d’erreur lors de
déchiffrement avec une mauvaise clé.

Il est également conseillé aux utilisateurs des authentifications par
Kerberos, GSSAPI, ou SSPI de positionner include_realm à 1 dans le fichier
pg_hba.conf, cette valeur devenant la valeur par défaut dans les futures
versions.

Pour plus d’informations sur ces failles, on peut se référer aux pages de
sécurité sur le site de PostgreSQL.

Autres correctifs et améliorations

Une nouvelle version, qui n’est pas celle par défaut, de l’extension citext
corrige les fonctions regexp_matches() précédemment non-documentées, pour les aligner sur les versions texte usuelles de ces fonctions. La version corrigée
utilisant un type de retour différent de l’ancienne, il est nécessaire de
tester les applications avant d’exécuter la commande "ALTER EXTENSION citext
UPDATE".

Plus de 50 autres correctifs sont fournis par ces mises à jour.
La plupart concernent l’ensemble des versions supportées.

On peut citer :

- la traduction des dates et estampilles temporelles infinies en "infinity"
lors de conversion en json ;
- la correction des fonctions json/jsonb populate_record() et to_record() ;
- la correction de la vérification des contraintes d’exclusion différée ;
- l’amélioration de la planification des requêtes touchant plusieurs schémas ;
- la correction de trois problèmes de jointures ;
- la garantie de verrouillage correct lors de l’utilisation de barrières de
sécurité ("security barriers") dans les vues ;
- la correction du verrou mort au démarrage lorsque le paramètre
max_prepared_transactions est trop faible ;
- le parcours récusif par fsync() du répertoire de données après un crash ;
- la correction du lanceur d’autovacuum qui pouvait ne pas s’arrêter ;
- la gestion de signaux inattendus dans la fonction LockBufferForCleanup() ;
- la correction du crash de COPY IN vers une table possédant des contraintes
de vérification ;
- la suppression de l’attente de réplication synchrone sur les transactions
en lecture seule ;
- la correction de deux problèmes sur les index hash ;
- la suppression des fuites mémoire lors de vacuum sur les index GIN ;
- la correction de deux problèmes sur les « background workers » ;
- plusieurs corrections sur la réplication par décodage logique ;
- plusieurs corrections sur pg_dump et pg_ugrade.

Cette version inclut une mise à jour vers la version 2015d de tzdata, avec
les mise à jour pour l’Egypte, la Mongolie, la Palestine, et des
modifications historiques pour le Canada et le Chili.

Fin de vie proche pour la branche 9.0

La version 9.0 arrive en fin de vie en septembre 2015. Il est probable que
cette mise à jour soit une des dernières de cette branche. Les utilisateurs
de PostgreSQL 9.0 peuvent commencer à planifier la mise à jour vers une
version plus récente.

Comme pour les autres versions mineures, il n’est pas nécessaire d’extraire
et recharger les bases ou d’utiliser pg_upgrade pour appliquer cette mise à
jour. Il suffit d’arrêter PostgreSQL, et de mettre à jour les binaires.

Les utilisateurs de l’extension citext auront une commande à jouer.

Les utilisateurs ayant négligé les mises à jour précédentes auront peut-être
quelques actions post-mise à jour à effectuer.

Liens :

- [Téléchargement]
- [Notes de version]
- [Page sécurité]