psqlODBC 18.00.0006 corrige 11 CVE dont deux injections SQL
Le pilote PostgreSQL ODBC corrige 11 CVE (CVE-2026-120057 à 120067) dans la version 18.00.0006 : deux injections SQL et plusieurs débordements de tampon. CERT-FR AVI-1445.
Attention au titre de l'avis : la faille ne vise pas le serveur PostgreSQL mais psqlODBC, son pilote ODBC. La version 18.00.0006, publiée le 2 novembre, corrige 11 CVE — deux injections SQL et une série de débordements de tampon et de défauts de validation. Le CERT-FR les relaie dans CERTFR-2026-AVI-1445.
Produits et versions concernés
- psqlODBC antérieur à 18.00.0006. Corrigé en 18.00.0006.
- Exception : CVE-2026-120062 affecte uniquement la plage 17.00.0006 à 18.00.0005.
Le pilote ODBC est le composant qui relie une application Windows (ETL, outils décisionnels, intégrations maison) à une base PostgreSQL. C'est lui qu'il faut mettre à jour, pas le serveur.
Modèle de menace
L'essentiel de ces défauts se déclenche à partir de données renvoyées par le serveur : noms de colonnes, objets volumineux (large objects), compteurs et longueurs. Le scénario n'est donc pas un attaquant anonyme frappant le pilote, mais un serveur PostgreSQL hostile ou compromis — ou des métadonnées qu'un attaquant contrôle — qui retourne des réponses piégées à un client ODBC. Pour un pilote embarqué dans des chaînes de reporting, cela élargit nettement la surface au-delà du seul serveur de confiance.
Les 11 CVE
Injections SQL (changelog) :
- CVE-2026-120062 (7.5) — noms de table et de schéma passés à
SQLSpecialColumnsmal assainis. - CVE-2026-120065 (7.1) — noms de colonnes renvoyés par le serveur non échappés dans les requêtes de curseur modifiable.
Débordements de tampon :
- CVE-2026-120057 (7.5) — lecture d'un large object débordant le tampon applicatif.
- CVE-2026-120058 (7.5) — débordement du cache de lignes quand un
FETCHultérieur change le nombre de colonnes. - CVE-2026-120061 (7.5) — débordement de pile dans l'analyseur d'échappements ODBC.
- CVE-2026-120063 (5.9) — débordement de pile lors de la mise entre guillemets de noms longs de schéma et de table.
- CVE-2026-120067 (5.9) — débordement de pile à la lecture des colonnes keyset (ctid/oid) d'un curseur modifiable.
Validation et divers :
- CVE-2026-120059 (6.8) — nom de colonne du serveur utilisé comme chaîne de format.
- CVE-2026-120060 (5.9) — compteurs et longueurs du serveur non validés.
- CVE-2026-120064 (7.5) — numéros de colonnes et index de lignes non validés dans les fonctions de liaison.
- CVE-2026-120066 (5.3) — fichiers de journal à chemin prévisible, permissions par défaut, suivant les liens symboliques.
Que faire
- Mettez à jour psqlODBC en 18.00.0006 sur les postes et serveurs qui l'embarquent.
- Recensez les connexions ODBC vers des bases PostgreSQL que vous n'administrez pas (partenaires, SaaS, instances tierces) : ce sont elles qui portent le risque du modèle « serveur hostile ».
- Vérifiez les permissions et l'emplacement des journaux du pilote (CVE-2026-120066) sur les systèmes multi-utilisateurs.
Contexte
Le schéma est le même que pour les composants transverses déjà couverts côté FR : la faille vit dans une brique de connectivité que personne ne « voit », embarquée dans des dizaines de chaînes applicatives. Un décideur pense « PostgreSQL est à jour » ; le maillon réellement vulnérable est le pilote ODBC côté client. D'où l'intérêt de traiter l'inventaire des pilotes au même titre que celui des serveurs.