Des mises à jour correctrices ont été formées pour toutes les branches prises en charge de PostgreSQL 16.4, 15.8, 14.13, 13.16, 12.20, corrigeant 56 erreurs identifiées au cours des trois derniers mois. Parmi d'autres, les nouvelles versions corrigent une vulnérabilité (CVE-2024-7348), qualifiée de dangereuse (niveau de risque 8.8 sur 10). Cette vulnérabilité est causée par un état de compétition dans l'utilitaire pg_dump, permettant à un attaquant ayant la capacité de créer et de supprimer des objets permanents dans la base de données d'exécuter un code SQL arbitraire avec les droits de l'utilisateur sous lequel l'utilitaire pg_dump est exécuté (généralement, pg_dump est exécuté avec les droits d'un superutilisateur pour la sauvegarde de la base de données).
Pour réussir une attaque, il est nécessaire de suivre le moment du lancement de l'utilitaire pg_dump, ce qui est facilement réalisable par des manipulations avec une transaction ouverte. L'attaque consiste à remplacer une séquence par une vue ou une table externe définissant le code SQL exécuté, au moment du lancement de pg_dump, lorsque l'information concernant l'existence de la séquence a déjà été obtenue, mais que les données n'ont pas encore été sorties. Pour bloquer la vulnérabilité, un paramÚtre « restrict_nonsystem_relation_kind » a été ajouté, interdisant la révélation des vues non systÚme et l'accÚs aux tables externes dans pg_dump.
Source : opennet.ru
