Récemment, deux vulnérabilités critiques ont été découvertes au sein de CasaOS, une solution de cloud personnel développée par IceWhale. Ces vulnérabilités, identifiées sous les noms CVE-2023-37265 et CVE-2023-37266, ont permis aux attaquants de contourner les exigences d’authentification et d’obtenir un accès illimité au tableau de bord de CasaOS.
Compréhension de l’Architecture de CasaOS : Un Monde de Microservices
CasaOS, développé en Go, fonctionne comme un ensemble de services installés sur des distributions telles qu’Ubuntu ou Debian. Le service principal, casaos-gateway, traite les requêtes HTTP(S) entrantes et les transfère vers divers microservices locaux. Il est important de noter que CasaOS utilise l’en-tête X-Forwarded-For pour gérer les adresses IP des clients, mais cette implémentation a révélé des vulnérabilités majeures.
Première Vulnérabilité : Prétendre être un Service Interne avec CVE-2023-37265
Cette vulnérabilité découle d’une gestion incorrecte des en-têtes X-Forwarded-For. L’utilisation de cet en-tête a été conçue pour transmettre les adresses IP des clients. Cependant, en cas d’absence ou d’invalidité de cet en-tête, le serveur utilise l’adresse IP locale (127.0.0.1) comme substitut, permettant aux attaquants de contourner l’authentification et d’accéder aux API de CasaOS sans restriction.
Deuxième Vulnérabilité : Création de JWT Arbitraires avec CVE-2023-37266
La deuxième faille majeure a été identifiée dans la gestion des jetons JWT (JSON Web Tokens). CasaOS utilisait un secret HMAC-SHA256 vide pour signer ces jetons, permettant aux attaquants de créer des jetons valides non signés. Ces jetons pouvaient être exploités pour contourner l’authentification et obtenir des privilèges d’administration sur les instances vulnérables de CasaOS.
Considérations Post-Exploitation : Protégez Votre Système
Suite à l’exploitation de ces vulnérabilités, il est essentiel de comprendre les risques post-exploitation. CasaOS offre la possibilité d’installer des applications tierces via son magasin d’applications interne. Cependant, cette fonctionnalité peut être exploitée par des applications malveillantes pour compromettre le système. Il est fortement recommandé de restreindre ces fonctionnalités dans un fichier de configuration, permettant aux utilisateurs avancés de désactiver des fonctionnalités potentiellement dangereuses.
Réponse de CasaOS et Conclusion
Après avoir découvert ces vulnérabilités, notre équipe les a rapportées de manière responsable aux mainteneurs de CasaOS. Ces derniers ont rapidement réagi en publiant la version CasaOS v0.4.4, intégrant des correctifs pour résoudre ces problèmes de sécurité. Il est crucial que tous les utilisateurs de CasaOS mettent à jour leurs instances vers la dernière version (v0.4.4) pour se protéger contre ces vulnérabilités.
En conclusion, ces vulnérabilités soulignent l’importance d’une conception sécurisée des logiciels, en particulier dans les systèmes gérant des données sensibles. L’éducation et la sensibilisation à la sécurité demeurent des éléments essentiels pour les développeurs et les utilisateurs, afin de prévenir de telles failles à l’avenir. CasaOS a réagi de manière proactive pour résoudre ces problèmes, démontrant ainsi l’importance d’une collaboration étroite entre la communauté de la sécurité et les développeurs pour garantir la sécurité des logiciels open source.