CloudNativePG - CVE-2026-44477
Date de publication :
Il s'agit d'une vulnérabilité dans le métriques exporter de CloudNativePG.
CloudNativePG est un opérateur Kubernetes open source pour la gestion du cycle de vie de bases de données PostgreSQL dans des environnements conteneurisés. Il couvre le déploiement, la haute disponibilité, les sauvegardes et la supervision des clusters PostgreSQL.
L'exporteur ouvre sa connexion PostgreSQL en tant que superutilisateur postgres via le socket Unix local du pod, puis rétrograde la session avec SET ROLE pg_monitor. Cette instruction ne modifie que current_user : session_user reste postgres, conservant l'identité superutilisateur en arrière-plan. Toute expression SQL évaluée dans cette session peut invoquer RESET ROLE pour restaurer les privilèges superutilisateur réels, puis utiliser COPY ... TO PROGRAM pour exécuter une commande OS arbitraire en tant qu'utilisateur postgres dans le pod primaire. Deux chemins d'exploitation existent : le premier via une requête de métrique personnalisée contenant un identifiant non qualifié, le second via la métrique pg_extensions livrée par défaut dans default-monitoring.yaml, exploitable sans configuration personnalisée.
Elle permet une élévation de privilèges vers le superutilisateur PostgreSQL et une exécution de code arbitraire au niveau du pod primaire.
Informations
La faille est activement exploitée : Non
Un correctif existe : Oui
Une mesure de contournement existe : Oui
Élévation de privilèges
Exploitation
CWE-250 : Execution with Unnecessary Privileges
Détails sur l'exploitation
• Vecteur d'attaque : Réseau
• Complexité de l'attaque : Faible
• Privilèges nécessaires pour réaliser l'attaque : Authentification utilisateur simple
• Interaction d'un utilisateur ayant accès au produit est-elle nécessaire : Non
• L'exploitation de la faille permet d'obtenir des droits privilégiés : Oui
Preuve de concept
Actuellement, aucune preuve de concept n'est disponible en sources ouvertes.
Systèmes ou composants affectés
• CloudNativePG versions antérieures à 1.28.3
• CloudNativePG versions 1.29.0 jusqu'à 1.29.0 (antérieures à 1.29.1)
Contournement provisoire
• Restreindre la propriété des bases de données aux rôles entièrement de confiance dans les clusters supervisés
• Limiter l'usage de target_databases: '*' aux bases de données entièrement de confiance
• Ne pas exposer le SQL des requêtes de métriques à des utilisateurs non fiables
Solutions ou recommandations
• CloudNativePG version 1.29.1 et supérieures (branche 1.29.x)