CVE-2025-1094 est une vulnérabilité critique d’injection SQL découverte par Rapid7, qui affecte toutes les versions prises en charge de PostgreSQL antérieures aux versions 17.3, 16.7, 15.11, 14.16 et 13.19. La vulnérabilité a été identifiée lors de l’analyse d’une attaque exploitant CVE-2024-12356, une faille d’exécution de code à distance (RCE) non authentifiée dans les produits BeyondTrust. Dans tous les cas testés, l’exploitation réussie de CVE-2024-12356 nécessitait d’abord l’exploitation de CVE-2025-1094 pour obtenir l’exécution de code.
Avec un score CVSS de 8.1 (Élevé), cette vulnérabilité découle de défauts dans l’outil psql de PostgreSQL, qui permettent à un attaquant d’injecter des commandes SQL via des entrées spécifiquement manipulées. Ce problème est resté un zero-day jusqu’à sa divulgation par Rapid7.
| Date | 2025-02-20 16:22:45 |
| Informations |
|
Résumé technique
CVE-2025-1094 est causée par une hypothèse erronée concernant la sécurité des entrées transmises via les routines d’échappement de chaînes de PostgreSQL. Ces routines sont conçues pour gérer les entrées non fiables au sein des requêtes SQL, mais un attaquant peut contourner ces protections dans des scénarios spécifiques où des caractères UTF-8 invalides sont traités de manière incorrecte par l’outil psql.
La vulnérabilité se produit lorsque l’outil psql exécute une instruction SQL contenant une entrée non fiable échappée qui inclut des séquences d’octets invalides, conduisant à une injection SQL réussie. Si un attaquant parvient à injecter des commandes SQL, il peut intensifier l’attaque en exécutant des méta-commandes via psql, ce qui permet l’exécution de commandes shell sur le système d’exploitation sous-jacent.
Alternativement, les attaquants peuvent exécuter des commandes SQL arbitraires et contrôlées par l’attaquant directement dans la base de données PostgreSQL, avec le potentiel de compromettre davantage le système, incluant l’exfiltration de données, la manipulation de données ou la compromission du système.
Scénarios d’exploitation :
Injection SQL
Les attaquants peuvent injecter du code SQL arbitraire via psql, en contournant les protections d’échappement. Cela peut permettre un accès non autorisé à des données sensibles ou la manipulation des opérations de la base de données.Exécution arbitraire de code via des méta-commandes
L’exploitation de l’injection SQL permet aux attaquants d’utiliser les méta-commandes depsql, qui exécutent des commandes shell du système d’exploitation. Cela peut mener au contrôle total du système affecté, incluant la possibilité d’exécuter des commandes arbitraires avec des privilèges du système d’exploitation.
Recommandations
- Mettre à jour PostgreSQL
Les utilisateurs doivent mettre à jour immédiatement vers PostgreSQL 17.3, 16.7, 15.11, 14.16 ou 13.19, qui corrigent la vulnérabilité d’injection SQL et garantissent la protection du système contre l’exploitation.
- Vérifier et surveiller les requêtes SQL
- Implémenter des mesures de sécurité supplémentaires telles que la validation des entrées et les requêtes paramétrées pour prévenir d’autres vulnérabilités d’injection SQL.
- Revoir l’utilisation des méta-commandes au sein de l’outil interactif de PostgreSQL (
psql) pour limiter la possibilité que des utilisateurs non fiables puissent exécuter des commandes shell arbitraires.
- Limiter l’accès à psql
Limiter l’accès à psql uniquement aux administrateurs de confiance, et désactiver l’exécution interactive de commandes shell pour les utilisateurs réguliers, si possible.
[Callforaction-THREAT-Footer]
Leave a Reply