Abstrakter Code als Symbol fuer eine Sicherheitsluecke

PostGREShell: 12 ans PostgreSQL Le défaut transforme le compte de réplication en une porte arrière

Un défaut PostgreSQL qui est passé inaperçu pendant environ douze ans permet aux attaquants de transformer un compte de réplication simple en accès complet au serveur. Découvert par le chercheur de Cyera Vladimir Tokarev et surnommé « PostGREShell », le CVE-2026-6471 augmente l’accès à la réplication à faible privilège en exécution de code, en droits de superutilisateur permanent et en porte arrière persistante.

Un nom de plugin non vérifié atterrit directement dans dlopen

La cause racine est dans le décodage logique de PostgreSQL. Lorsqu’un client crée une fente de réplication, il choisit librement le nom du plugin de sortie. Selon l’avis, ce nom est transmis à dlopen() – ou à LoadLibrary() sous Windows – sans aucune validation. En utilisant les chemins de traversée ou UNC, un attaquant peut charger le code compilé arbitraire dans le processus PostgreSQLTM, qui fonctionne alors avec les privilèges du postgres compte système.

Les questions préalables: un attaquant a besoin d’un compte portant l’attribut REPLICATION, pas des droits de superutilisateur, et le serveur doit fonctionner avec wal_level = logical. Sur Windows, l’attaque est entièrement distante sur SMB, sur Linux elle peut déclencher via des montures NFS automatiques.

Superutilisateur via la manipulation et la persistance du catalogue

Le code injecté peut directement manipuler pg_authid le statut de superutilisateur. Pour la persistance, Cyera décrit la réécriture pg_hba.conf, enregistrement shared_preload_libraries et de réappliquer à plusieurs reprises les privilèges. Une chasse sur VirusTotal a déjà fait surface 114 plugins malveillants PostgreSQLTM.

Versions touchées et mesures d’atténuation

Chaque libération de 9,4 à 18 est affectée; le défaut, coté CVSS 7.2, est fixé en 18.6, 17.11, 16.15, 15.19 et 14.24. Les administrateurs devraient corriger rapidement, retirer l’attribut REPLICATION des comptes qui n’en ont pas besoin, restreindre les entrées de réplication dans pg_hba.conf à des adresses connues, et bloquer le trafic SMB sortant (port 445) et NFS (port 2049) à partir des serveurs de base de données.

Sources : Recherche Cyera · Semaine de la sécurité · Sécurité PostgreSQL

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Mastodon
Retour en haut