Le Backstage de Spotify a été découvert comme vulnérable à une grave faille de sécurité qui pourrait être exploitée pour obtenir l’exécution de code à distance en exploitant un bogue récemment révélé dans un module tiers.
La vulnérabilité (score CVSS : 9,8), à la base, tire parti d’un échappement critique du bac à sable dans vm2, une bibliothèque de bac à sable JavaScript populaire (CVE-2022-36067 alias Sandbreak), qui a été révélée le mois dernier.
« Un acteur malveillant non authentifié peut exécuter des commandes système arbitraires sur une application Backstage en exploitant un échappement de bac à sable vm2 dans le plug-in principal Scaffolder », a déclaré la société de sécurité des applications Oxeye dans un communiqué. rapport partagé avec The Hacker News.
Dans les coulisses est une source ouverte portail développeur de Spotify qui permet aux utilisateurs de créer, gérer et explorer des composants logiciels à partir d’un « porte d’entrée. » Il est utilisé par de nombreuses entreprises comme Netflix, DoorDash, Roku et Expedia, entre autres.
Selon Oxeye, la faille est enracinée dans un outil appelé modèles de logiciels qui peuvent être utilisés pour créer des composants dans Backstage.
La capture d’écran montre que Backstage appelle deux fois la fonction renderTemplate (qui appelle renderString2) en cas d’erreur. |
Alors que le moteur de modèle utilise vm2 pour atténuer le risque associé à l’exécution de code non approuvé, la faille d’échappement du bac à sable dans ce dernier a permis d’exécuter des commandes système arbitraires en dehors du périmètre de sécurité.
Oxeye a déclaré qu’il était en mesure d’identifier plus de 500 instances Backstage exposées publiquement sur Internet, qui pourraient ensuite être militarisées à distance par un adversaire sans nécessiter aucune autorisation.
Suite à la divulgation responsable le 18 août, le problème a été résolu par les responsables du projet dans version 1.5.1 sortie le 29 août 2022.
« La racine de tout échappement de machine virtuelle basé sur un modèle est d’obtenir les droits d’exécution JavaScript dans le modèle », a noté la société israélienne. « En utilisant des moteurs de modèles « sans logique » tels que Moustachevous pouvez éviter d’introduire des vulnérabilités d’injection de modèles côté serveur. »
« Séparer autant que possible la logique de la présentation peut réduire considérablement votre exposition aux attaques basées sur des modèles les plus dangereuses », a-t-il ajouté.