Le connecteur JDBC de PostgreSQL affecté par une faille de sécurité critique (CVE-2024-1597)
Une faille de sécurité critique a été découverte dans le pilote JDBC de PostgreSQL, ouvrant la porte à des attaques basées sur de l'injection SQL. Faisons le point sur cette menace potentielle.
Pour rappel, le driver JDBC de PostgreSQL peut être utilisé par des applications, notamment en Java, afin de se connecter à une base de données PostgreSQL.
La faille de sécurité CVE-2024-1597 découverte dans le driver JDBC de PostgreSQL (pgjdbc) est associée à un score CVSS de 10 sur 10, ce qui la note maximale. L'injection SQL est envisageable à condition que le mode "PreferQueryMode=SIMPLE" soit actif, ce qui n'est pas le cas par défaut. Si ce mode n'est pas utilisé, alors la vulnérabilité ne peut pas être exploitée. C'est un détail qui a son importance, et cette condition doit être respectée, au-delà d'utiliser une chaine conçue pour exploiter cette vulnérabilité.
D'après l'auteur de cette découverte, surnommé ElNiak : "Dans des circonstances normales, les requêtes paramétrées constituent une défense solide contre les attaques par injection SQL, car elles garantissent que les données d'entrée sont traitées en tant que données uniquement, et non en tant que partie de la commande SQL." - Dans le cas présent, ces mesures de protection peuvent être contournées, rendant possible l'injection SQL malgré tout.
En exploitant cette vulnérabilité, un attaquant peut espérer accéder à des données sensibles contenues dans la base de données, mais aussi manipuler les données, voire dans le pire des cas, obtenir un contrôle total sur la base de données et sur l'application associée.
Comment se protéger ?
D'après la base de bulletins de sécurité de GitHub, sachez que les versions antérieures à 42.7.2, 42.6.1, 42.5.5, 42.4.4, 42.3.9 et 42.2.8 sont concernées par cette faille de sécurité. Donc, vous devez passer sur l'une de ces versions pour vous protéger totalement.
Au-delà d'installer la mise à jour, ElNiak recommande d'adopter les bonnes pratiques suivantes :
- Effectuer une validation des entrées
- Utiliser des déclarations préparées
- Appliquer le principe de moindre privilège
- Effectuez des audits continus de ses applications