Apache Superset est vulnérable au contournement de l’authentification et à l’exécution de code à distance dans les configurations par défaut, ce qui permet aux attaquants d’accéder et de modifier potentiellement les données, de collecter les informations d’identification et d’exécuter des commandes.
Apache Superset est un outil de visualisation et d’exploration de données open source initialement développé pour Airbnb avant de devenir un projet de haut niveau à l’Apache Software Foundation en 2021.
Selon un nouveau rapport d’Horizon3, Apache Superset a utilisé une clé secrète Flask par défaut pour signer les cookies de session d’authentification. Par conséquent, les attaquants peuvent utiliser cette clé par défaut pour forger des cookies de session qui leur permettent de se connecter avec des privilèges d’administrateur aux serveurs qui n’ont pas changé la clé.
Bien que la documentation Apache indique aux administrateurs de modifier les clés secrètes, Horizon3 indique que cette configuration par défaut dangereuse est actuellement détectable dans environ 2 000 serveurs exposés à Internet appartenant à des universités, des entreprises de différentes tailles, des organisations gouvernementales, etc.
Cette clé secrète Flask par défaut largement utilisée est connue des attaquants qui peuvent utiliser flask-unsign et falsifier leurs propres cookies pour obtenir un accès administrateur sur la cible, accéder aux bases de données connectées ou exécuter des instructions SQL arbitraires sur le serveur d’application.
« Nous ne divulguons aucune méthode d’exploitation pour le moment, même si nous pensons qu’il sera simple pour les attaquants intéressés de le découvrir », prévient Horizon3.
Il est important de noter que si les administrateurs ont changé la clé par défaut par une clé inconnue des attaquants, leurs installations ne sont pas vulnérables à cette attaque.
Découverte et impact
La faille a été découverte par l’équipe Horizon3 le 11 octobre 2021 et signalée à l’équipe Apache Security.
Le 11 janvier 2022, les développeurs de logiciels ont publié la version 1.4.1, qui a changé la valeur par défaut « SECRET_KEY » en une nouvelle chaîne, et un avertissement a été ajouté aux journaux lorsque la chaîne par défaut a été détectée au démarrage.
Horizon3 a également trouvé deux autres clés par défaut utilisées dans la documentation et les modèles et a utilisé Shodan pour rechercher des instances utilisant ces quatre clés.
À l’époque, Horizon3 a constaté qu’environ 2 124 (67 % du total) étaient mal configurés.
Horizon3 a de nouveau contacté Apache et a soulevé les problèmes, et en février 2023, les chercheurs ont commencé à envoyer des avertissements aux organisations sur la nécessité de modifier leur configuration.
Finalement, le 5 avril 2023, l’équipe Superset a publié la version 2.1, qui ne permet pas au serveur de démarrer s’il utilise une « SECRET_KEY » par défaut.
Bien que cette solution drastique prévienne de nouveaux déploiements à risque, elle ne corrige pas les erreurs de configuration existantes qui, selon Horizon3, sont toujours présentes dans plus de 2 000 cas.
La société de sécurité a partagé un script sur GitHub que les administrateurs Apache Superset peuvent utiliser pour déterminer si leur instance est vulnérable aux attaques.