Maison du Numérique et de l’Innovation Place Georges Pompidou 83000 Toulon
04 94 05 55 50
info@c2rcsud.org

Vulnérabilités de PostgreSQL

Centre Ressources Régional Cyber

Date de publicationNuméro CVENuméro C2RCDescriptionLien CVE
10-03-2022CVE-2022-26520(V492/14-10-2022/C2RC)** CONTESTÉ ** Dans pgjdbc avant 42.3.3, un attaquant (qui contrôle l'URL ou les propriétés jdbc) peut appeler java.util.logging.FileHandler pour écrire dans des fichiers arbitraires via les propriétés de connexion loggerFile et loggerLevel. Un exemple de situation est qu'un attaquant pourrait créer un fichier JSP exécutable sous une racine Web Tomcat. REMARQUE : la position du fournisseur est qu'il n'y a pas de vulnérabilité pgjdbc ; au lieu de cela, c'est une vulnérabilité pour toute application d'utiliser le pilote pgjdbc avec des propriétés de connexion non approuvées. (CVSS : 7.5) (Dernière mise à jour : 2022-08-01)lien
13-04-2022CVE-2022-24844(V491/14-10-2022/C2RC)Gin-vue-admin est un système de gestion des coulisses basé sur vue et gin, qui sépare l'avant et l'arrière de la pile complète. Le problème se produit dans le code suivant dans server/service/system/sys_auto_code_pgsql.go, ce qui signifie que PostgreSQL doit être utilisé comme base de données pour que cette vulnérabilité se produise. Les utilisateurs doivent : exiger une connexion JWT ? et utiliser PostgreSQL pour être affecté. Ce problème a été résolu dans la version 2.5.1. Il n'y a pas de solutions de contournement connues. (CVSS : 6.5) (Dernière mise à jour : 2022-09-30)lien
02-02-2022CVE-2022-21724(V490/14-10-2022/C2RC)pgjdbc est le pilote JDBC PostgreSQL officiel. Une faille de sécurité a été trouvée dans le pilote jdbc pour la base de données postgresql lors d'une recherche de sécurité. Le système utilisant la bibliothèque postgresql sera attaqué lorsque l'attaquant contrôlera l'url ou les propriétés jdbc. pgjdbc instancie les instances de plug-in en fonction des noms de classe fournis via les propriétés de connexion `authenticationPluginClassName`, `sslhostnameverifier`, `socketFactory`, `sslfactory`, `sslpasswordcallback`. Cependant, le pilote n'a pas vérifié si la classe implémente l'interface attendue avant d'instancier la classe. Cela peut conduire à l'exécution de code chargé via des classes arbitraires. Les utilisateurs utilisant des plugins sont invités à mettre à niveau. Il n'existe aucune solution de contournement connue pour ce problème. (CVSS : 7.5) (Dernière mise à jour : 2022-08-01)lien
01-06-2021CVE-2021-32027(V489/14-10-2022/C2RC)Une faille a été trouvée dans postgresql dans les versions antérieures à 13.3, antérieures à 12.7, antérieures à 11.12, antérieures à 10.17 et antérieures à 9.6.22. Lors de la modification de certaines valeurs de tableau SQL, les vérifications de limites manquantes permettent aux utilisateurs de base de données authentifiés d'écrire des octets arbitraires dans une large zone de mémoire du serveur. La plus grande menace de cette vulnérabilité concerne la confidentialité et l'intégrité des données ainsi que la disponibilité du système. (CVSS : 6.5) (Dernière mise à jour : 2021-09-14)lien
23-11-2020CVE-2020-25696(V488/14-10-2022/C2RC)Une faille a été trouvée dans le terminal interactif psql de PostgreSQL dans les versions antérieures à 13.1, antérieures à 12.5, antérieures à 11.10, antérieures à 10.15, antérieures à 9.6.20 et antérieures à 9.5.24. Si une session psql interactive utilise \\gset lors de l'interrogation d'un serveur compromis, l'attaquant peut exécuter du code arbitraire en tant que compte du système d'exploitation exécutant psql. La plus grande menace de cette vulnérabilité concerne la confidentialité et l'intégrité des données ainsi que la disponibilité du système. (CVSS:7.6) (Dernière mise à jour :2020-12-15)lien
16-11-2020CVE-2020-25695(V487/14-10-2022/C2RC)Une faille a été trouvée dans les versions de PostgreSQL avant 13.1, avant 12.5, avant 11.10, avant 10.15, avant 9.6.20 et avant 9.5.24. Un attaquant ayant la permission de créer des objets non temporaires dans au moins un schéma peut exécuter des fonctions SQL arbitraires sous l'identité d'un superutilisateur. La plus grande menace de cette vulnérabilité concerne la confidentialité et l'intégrité des données ainsi que la disponibilité du système. (CVSS:6.5) (Dernière mise à jour :2020-12-07)lien
16-11-2020CVE-2020-25694(V486/14-10-2022/C2RC)Une faille a été trouvée dans les versions de PostgreSQL avant 13.1, avant 12.5, avant 11.10, avant 10.15, avant 9.6.20 et avant 9.5.24. Si une application cliente qui crée des connexions de base de données supplémentaires ne réutilise que les paramètres de connexion de base tout en supprimant les paramètres relatifs à la sécurité, une opportunité d'attaque de l'homme du milieu ou la possibilité d'observer les transmissions en texte clair pourraient exister. La plus grande menace de cette vulnérabilité concerne la confidentialité et l'intégrité des données ainsi que la disponibilité du système. (CVSS:6.8) (Dernière mise à jour :2020-12-07)lien
04-06-2020CVE-2020-13692(V485/14-10-2022/C2RC)Le pilote JDBC PostgreSQL (alias PgJDBC) avant 42.2.13 autorise XXE. (CVSS:6.8) (Dernière mise à jour :2022-08-01)lien
29-10-2019CVE-2019-10208(V484/14-10-2022/C2RC)Une faille a été découverte dans les versions 9.4.x de postgresql avant 9.4.24, 9.5.x avant 9.5.19, 9.6.x avant 9.6.15, 10.x avant 10.10 et 11.x avant 11.5 où des instructions SQL arbitraires peuvent être exécutées une fonction SECURITY DEFINER appropriée. Un attaquant, disposant de la permission EXECUTE sur la fonction, peut exécuter du SQL arbitraire en tant que propriétaire de la fonction. (CVSS : 6.5) (Dernière mise à jour : 2020-08-17)lien
26-06-2019CVE-2019-10164(V483/14-10-2022/C2RC)Les versions 10.x de PostgreSQL avant 10.9 et les versions 11.x avant 11.4 sont vulnérables à un débordement de tampon basé sur la pile. Tout utilisateur authentifié peut déborder d'un tampon basé sur la pile en changeant le propre mot de passe de l'utilisateur en une valeur spécialement conçue. Cela suffit souvent pour exécuter du code arbitraire en tant que compte du système d'exploitation PostgreSQL. (CVSS : 9.0) (Dernière mise à jour : 2020-10-02)lien
01-04-2019CVE-2019-9193(V482/14-10-2022/C2RC)** CONTESTÉ ** Dans PostgreSQL 9.3 à 11.2, la fonction "COPY TO/FROM PROGRAM" permet aux super-utilisateurs et aux utilisateurs du groupe "pg_execute_server_program" d'exécuter du code arbitraire dans le contexte de l'utilisateur du système d'exploitation de la base de données. Cette fonctionnalité est activée par défaut et peut être utilisée de manière abusive pour exécuter des commandes arbitraires du système d'exploitation sous Windows, Linux et macOS. REMARQUE : des tiers affirment/déclarent qu'il ne s'agit pas d'un problème, car la fonctionnalité PostgreSQL pour \xe2\x80\x98COPY TO/FROM PROGRAM\xe2\x80\x99 fonctionne comme prévu. Les références indiquent que dans PostgreSQL, un superutilisateur peut exécuter des commandes en tant qu'utilisateur du serveur sans utiliser \xe2\x80\x98COPY FROM PROGRAM\xe2\x80\x99. (CVSS : 9.0) (Dernière mise à jour : 2022-03-30)lien
20-11-2019CVE-2019-3466(V481/14-10-2022/C2RC)Le script pg_ctlcluster dans postgresql-common dans les versions antérieures à 210 ne supprimait pas les privilèges lors de la création de répertoires temporaires socket/statistics, ce qui pouvait entraîner une élévation locale des privilèges. (CVSS:7.2) (Dernière mise à jour :2019-12-03)lien
13-11-2018CVE-2018-16850(V480/14-10-2022/C2RC)postgresql avant les versions 11.1, 10.6 est vulnérable à une injection SQL dans pg_upgrade et pg_dump via CREATE TRIGGER ... REFERENCING. À l'aide d'une définition de déclencheur spécialement conçue, un attaquant peut provoquer l'exécution d'instructions SQL arbitraires, avec des privilèges de superutilisateur. (CVSS:7.5) (Dernière mise à jour :2019-10-09)lien
30-08-2018CVE-2018-10936(V479/14-10-2022/C2RC)Une faiblesse a été trouvée dans postgresql-jdbc avant la version 42.2.5. Il était possible de fournir une usine SSL et de ne pas vérifier le nom d'hôte si un vérificateur de nom d'hôte n'était pas fourni au pilote. Cela pourrait conduire à une condition dans laquelle un attaquant intermédiaire pourrait se faire passer pour un serveur de confiance en fournissant un certificat pour le mauvais hôte, tant qu'il a été signé par une autorité de certification de confiance. (CVSS : 6.8) (Dernière mise à jour : 2020-10-15)lien
09-08-2018CVE-2018-10915(V478/14-10-2022/C2RC)Une vulnérabilité a été trouvée dans libpq, la bibliothèque client PostgreSQL par défaut où libpq n'a pas réussi à réinitialiser correctement son état interne entre les connexions. Si une version affectée de libpq était utilisée avec les paramètres de connexion "host" ou "hostaddr" à partir d'une entrée non fiable, les attaquants pourraient contourner les fonctionnalités de sécurité de connexion côté client, obtenir l'accès à des connexions privilégiées plus élevées ou potentiellement causer d'autres impacts via l'injection SQL, en provoquant le PQescape() fonctionne mal. Les versions de Postgresql antérieures à 10.5, 9.6.10, 9.5.14, 9.4.19 et 9.3.24 sont concernées. (CVSS:6.0) (Dernière mise à jour :2021-08-04)lien
10-05-2018CVE-2018-1115(V477/14-10-2022/C2RC)postgresql avant les versions 10.4, 9.6.9 est vulnérable dans l'extension adminpack, la fonction pg_catalog.pg_logfile_rotate() ne suit pas les mêmes ACL que pg_rorate_logfile. Si l'adminpack est ajouté à une base de données, un attaquant capable de s'y connecter pourrait exploiter cela pour forcer la rotation des logs. (CVSS:6.4) (Dernière mise à jour :2020-12-04)lien
02-03-2018CVE-2018-1058(V476/14-10-2022/C2RC)Une faille a été trouvée dans la manière dont Postgresql permettait à un utilisateur de modifier le comportement d'une requête pour d'autres utilisateurs. Un attaquant disposant d'un compte utilisateur pourrait utiliser cette faille pour exécuter du code avec les permissions du superutilisateur dans la base de données. Les versions 9.3 à 10 sont concernées. (CVSS:6.5) (Dernière mise à jour :2019-10-09)lien
01-03-2018CVE-2017-14798(V475/14-10-2022/C2RC)Une condition de concurrence dans le script d'initialisation de postgresql pourrait être utilisée par des attaquants capables d'accéder au compte postgresql pour élever leurs privilèges à root. (CVSS:6.9) (Dernière mise à jour :2019-10-03)lien
22-11-2017CVE-2017-12172(V474/14-10-2022/C2RC)PostgreSQL 10.x avant 10.1, 9.6.x avant 9.6.6, 9.5.x avant 9.5.10, 9.4.x avant 9.4.15, 9.3.x avant 9.3.20 et 9.2.x avant 9.2.24 s'exécute sous un compte de système d'exploitation non root et les superutilisateurs de la base de données ont la capacité effective d'exécuter du code arbitraire sous ce compte système. PostgreSQL fournit un script pour démarrer le serveur de base de données lors du démarrage du système. Les packages de PostgreSQL pour de nombreux systèmes d'exploitation fournissent leurs propres implémentations de démarrage créées par le packager. Plusieurs implémentations utilisent un nom de fichier journal que le superutilisateur de la base de données peut remplacer par un lien symbolique. En tant que root, ils open(), chmod() et/ou chown() ce nom de fichier journal. Cela suffit souvent pour que le superutilisateur de la base de données passe aux privilèges root lorsque root démarre le serveur. (CVSS:7.2) (Dernière mise à jour :2019-10-09)lien
16-08-2017CVE-2017-7546(V473/14-10-2022/C2RC)Les versions de PostgreSQL antérieures à 9.2.22, 9.3.18, 9.4.13, 9.5.8 et 9.6.4 sont vulnérables à une faille d'authentification incorrecte permettant aux attaquants distants d'accéder aux comptes de base de données avec un mot de passe vide. (CVSS:7.5) (Dernière mise à jour :2019-10-09)lien
20-08-2018CVE-2016-7048(V472/14-10-2022/C2RC)Le programme d'installation interactif de PostgreSQL avant 9.3.15, 9.4.x avant 9.4.10 et 9.5.x avant 9.5.5 peut permettre à des attaquants distants d'exécuter du code arbitraire en exploitant l'utilisation de HTTP pour télécharger des logiciels. (CVSS:9.3) (Dernière mise à jour :2018-10-12)lien
09-12-2016CVE-2016-5423(V471/14-10-2022/C2RC)PostgreSQL avant 9.1.23, 9.2.x avant 9.2.18, 9.3.x avant 9.3.14, 9.4.x avant 9.4.9 et 9.5.x avant 9.5.4 permettent aux utilisateurs distants authentifiés de provoquer un déni de service (NULL déréférencement du pointeur et plantage du serveur), obtenir des informations mémoire sensibles, ou éventuellement exécuter du code arbitraire via (1) une expression CASE dans la sous-expression de la valeur de test d'un autre CASE ou (2) l'intégration d'une fonction SQL qui implémente l'opérateur d'égalité utilisé pour un CASE expression impliquant des valeurs de types différents. (CVSS : 6.5) (Dernière mise à jour : 2018-01-05)lien
11-04-2016CVE-2016-3065(V470/14-10-2022/C2RC)Les fonctions (1) brin_page_type et (2) brin_metapage_info dans l'extension pageinspect dans PostgreSQL avant 9.5.x avant 9.5.2 permettent aux attaquants de contourner les restrictions d'accès prévues et par conséquent d'obtenir des informations sensibles sur la mémoire du serveur ou de provoquer un déni de service (plantage du serveur) via une valeur bytea spécialement construite dans une page d'index BRIN. (CVSS : 8.5) (Dernière mise à jour : 14/04/2016)lien
17-02-2016CVE-2016-0766(V469/14-10-2022/C2RC)PostgreSQL avant 9.1.20, 9.2.x avant 9.2.15, 9.3.x avant 9.3.11, 9.4.x avant 9.4.6 et 9.5.x avant 9.5.1 ne restreint pas correctement l'accès aux paramètres de configuration personnalisés non spécifiés (GUCS ) pour PL/Java, qui permet aux attaquants d'obtenir des privilèges via des vecteurs non spécifiés. (CVSS : 9.0) (Dernière mise à jour : 01/07/2017)lien
26-10-2015CVE-2015-5289(V468/14-10-2022/C2RC)Plusieurs débordements de tampon basés sur la pile dans l'analyse json dans PostgreSQL avant 9.3.x avant 9.3.10 et 9.4.x avant 9.4.5 permettent aux attaquants de provoquer un déni de service (crash du serveur) via des vecteurs non spécifiés, qui ne sont pas correctement gérés dans ( 1) json ou (2) valeurs jsonb. (CVSS:6.4) (Dernière mise à jour :2017-07-01)lien
26-10-2015CVE-2015-5288(V467/14-10-2022/C2RC)La fonction crypt dans contrib/pgcrypto dans PostgreSQL avant 9.0.23, 9.1.x avant 9.1.19, 9.2.x avant 9.2.14, 9.3.x avant 9.3.10 et 9.4.x avant 9.4.5 permet aux attaquants de provoquer un déni de service (crash du serveur) ou lire arbitrairement la mémoire du serveur via un sel "trop ​​court". (CVSS:6.4) (Dernière mise à jour :2017-07-01)lien
20-11-2019CVE-2015-3166(V466/14-10-2022/C2RC)L'implémentation de snprintf dans PostgreSQL avant 9.0.20, 9.1.x avant 9.1.16, 9.2.x avant 9.2.11, 9.3.x avant 9.3.7 et 9.4.x avant 9.4.2 ne gère pas correctement les erreurs d'appel système , qui permet aux attaquants d'obtenir des informations sensibles ou d'avoir d'autres impacts non spécifiés via des vecteurs inconnus, comme en témoigne une erreur de mémoire insuffisante. (CVSS : 7.5) (Dernière mise à jour : 2019-11-22)lien
27-01-2020CVE-2015-0244(V465/14-10-2022/C2RC)PostgreSQL avant 9.0.19, 9.1.x avant 9.1.15, 9.2.x avant 9.2.10, 9.3.x avant 9.3.6 et 9.4.x avant 9.4.1 ne gère pas correctement les erreurs lors de la lecture d'un message de protocole, ce qui permet à des attaquants distants de mener des attaques par injection SQL via des données binaires spécialement construites dans un paramètre et provoquant une erreur, ce qui déclenche la perte de synchronisation et une partie du message de protocole à traiter comme un nouveau message, comme démontré en provoquant un délai d'attente ou une annulation de requête. (CVSS : 7.5) (Dernière mise à jour : 2020-01-31)lien
27-01-2020CVE-2015-0243(V464/14-10-2022/C2RC)Plusieurs débordements de tampon dans contrib/pgcrypto dans PostgreSQL avant 9.0.19, 9.1.x avant 9.1.15, 9.2.x avant 9.2.10, 9.3.x avant 9.3.6 et 9.4.x avant 9.4.1 autorisent les utilisateurs distants authentifiés de provoquer un déni de service (crash) et éventuellement d'exécuter du code arbitraire via des vecteurs quelconques. (CVSS : 6.5) (Dernière mise à jour : 2020-01-31)lien