PostgreSQLLa base de données la plus sophistiquée au monde.

E.63. Version 7.4.19

[Note]

Date de sortie

2008-01-07

Cette version contient divers correctifs de la version 7.4.18, et inclut des corrections pour des failles de sécurité importantes. Pour plus d'informations sur les nouvelles fonctionnalités de la version majeure 7.4, voir Section E.82, « Sortie 7.4 ».

E.63.1. Migration vers la version 7.4.19

Les utilisateurs des versions 7.4.X n'ont pas besoin d'effectuer d'une étape de sauvegarde/restauration. Néanmoins, si vous mettez à jour à partir d'une version précédant la 7.4.11, voir les notes de version de la 7.4.11.

E.63.2. Modifications

  • Empêche les fonctions d'index de s'exécuter avec les droits de l'utilisateur exécutant VACUUM, ANALYZE, etc (Tom)

    Les fonctions utilisées dans les expressions d'index et dans les index partiels sont évaluées quand une nouvelle entrée est faite dans la table. Depuis longtemps, ceci est un risque, un cheval de Troie pouvant être exécuté si une personne modifie une table appartenant à un utilisateur à qui on ne peut faire confiance (Notez ques les triggers, valeurs par défaut, contraintes de vérification, etc posent le même type de risque.) Mais les fonctions utilisées dans des index sont un danger supplémentaire car ils seront exécutés par des opérations de maintenance périodiques comme un VACUUM FULL, opérations généralement exécutées par des super-utilisateurs. Donc, un utilisateur cherchant à gagner accès au système peut exécuter du code avec des droits de super-utilisateur en ajoutant une définition d'index avec un code de cheval de Troie, puis attendre la prochaine exécution des opérations de maintenance. La correction s'arrange pour que les opérations standards de maintenance (ceci incluant VACUUM, ANALYZE, REINDEX et CLUSTER) s'exécutent en tant que propriétaire de la table plutôt qu'en tant qu'appelent, en utilisant le même mécanisme de bascule de droits utilisé dans les fonctions SECURITY DEFINER. Pour empêcher un coutournement de cette mesure de sécurité, l'exécution de SET SESSION AUTHORIZATION et SET ROLE est maintenant interdit dans un contexte SECURITY DEFINER. (CVE-2007-6600)

  • Réparation de bogues relatifs aux expressions rationnelles (Tom, Will Drewry)

    Des motifs d'expressions rationnelles conçus très précisément pourraient causer des arrêts brutaux, des boucles infinies (ou presque) et/ou une consommation massive de mémoire. Tout ceci représente un risque de déni de service pour les applications qui acceptent des motifs de recherche via des expressions rationnelles à partir de sources indignes de confiance. (CVE-2007-4769, CVE-2007-4772, CVE-2007-6067)

  • Oblige l'utilisation de l'authentification par mot de passe pour les utilisateurs standards de /contrib/dblink, c'est une mesure de sécurité (Joe)

    La correction apparue dans 8.2.5 était incomplète, car il ne corrigeait la faille que pour certaines fonctions dblink. (CVE-2007-6601, CVE-2007-3278)

  • Correction d'un échec du planificateur dans certaines cas de WHERE false AND var IN (SELECT ...) (Tom)

  • Correction d'un arrêt brutal potentiel dans translate() lors de l'utilisation d'un encodage multi-octets de la base (Tom)

  • Correction de PL/Python pour ne pas causer un arrêt brutal sur des messages d'exception longs (Alvaro)

  • Corrections de l'analyseur ecpg (Michael)

  • Correction pour que crosstab(), du module contrib/tablefunc, gère les rowid NULL comme catégorie (Joe)

  • Correction des routines d'affichage de tsvector et tsquery pour échapper correctement les antislashs (Teodor, Bruce)

  • Correction d'un arrêt brutal de to_tsvector() sur les très grosses chaînes en entrée (Teodor)

  • Nécessite l'utilisation d'une version spécifique d'Autoconf™ lors de la re-génération du script configure (Peter)

    Ceci affecte seulement les développeurs et les créateurs de package. La modification a pour but d'empêcher l'utilisation accidentelle de combinaisons non testées des versions d'Autoconf™ et de PostgreSQL™. Vous pouvez supprimer la vérification de la version si vous voulez vraiment utiliser une version différente d'Autoconf™, mais c'est de votre responsabilité.