La récente vulnérabilité CVE-2024-24919 affectant les appliances CloudGuard Network Security de Check Point a suscité de vives inquiétudes dans le monde de la sécurité informatique. Cette faille, actuellement exploitée activement, permet à un attaquant distant d’obtenir un accès en lecture arbitraire aux fichiers présents sur le système vulnérable. Après une analyse approfondie, il s’avère que l’impact réel est bien plus grave que ne le laissait entendre la description initiale du fournisseur.
Au cœur de la vulnérabilité se trouve le traitement défectueux des requêtes HTTP envoyées à l’endpoint /clients/MyCRL. Ce endpoint est conçu pour servir des fichiers statiques à partir d’un emplacement spécifique sur le système de fichiers. Le chemin d’accès au fichier demandé peut être spécifié directement dans l’URL ou transmis dans le corps de la requête POST.
L’analyse du code source de la fonction gérant ces requêtes a révélé une utilisation inappropriée de la fonction strstr() du langage C. Cette fonction ne compare pas deux chaînes de caractères dans leur intégralité mais recherche plutôt la présence d’une sous-chaîne dans une autre chaîne. Le développeur a exploité cette fonctionnalité pour autoriser l’accès aux fichiers dont le chemin contient certaines chaînes de caractères prédéfinies.
Cependant, l’une de ces chaînes prédéfinies se termine par un caractère « / », indiquant un répertoire plutôt qu’un fichier. En injectant cette chaîne spécifique dans le chemin du fichier demandé, suivi de séquences de traversée de répertoire « ../ », il est possible de contourner les vérifications de sécurité et d’accéder à n’importe quel fichier présent sur le système de fichiers.
Un exemple d’exploit réussi serait une requête POST similaire à celle-ci :
POST /clients/MyCRL HTTP/1.1
Host: <redacted>
Content-Length: 39
aCSHELL/../../../../../../../etc/shadow
Cette requête permettrait de lire le contenu du fichier très sensible /etc/shadow, contenant les mots de passe hashés des utilisateurs du système. Avec un tel accès, un attaquant peut facilement compromettre complètement l’appliance et obtenir un contrôle total sur celle-ci.
Bien que Check Point ait publié un correctif pour résoudre cette vulnérabilité, les administrateurs système sont vivement encouragés à l’appliquer dès que possible. La gravité de cette faille ne doit pas être sous-estimée, car elle confère à un attaquant distant des privilèges root sur l’appliance, menaçant ainsi l’intégrité et la confidentialité de l’infrastructure réseau protégée.
Cette vulnérabilité souligne l’importance d’une analyse de code approfondie et d’une validation rigoureuse des entrées utilisateur, même pour des composants considérés comme sécurisés. Les équipes de développement logiciel doivent rester vigilantes et adopter les meilleures pratiques de sécurité pour prévenir ce type de failles critiques.