
Trouvé par : Steven Seeley de 360 Vulcan Team
Version : <= 4.12.x (dernière)
Date : 2021-01-08 12:49
CVE : CVE-2021-26121
Un administrateur de boutique (à ne pas confondre avec un administrateur racine) peut obtenir une exécution de code à distance via une injection de modèles Smarty côté serveur lors de la modification de modèles. Cela est dû au fait que CSCart n'implémente pas le bac à sable Smarty comme décrit dans la documentation https://www.smarty.net/docs/en/advanced.features.tpl#advanced.features.security.
Ce n'est normalement pas une préoccupation majeure, mais sur CSCart, cela signifie qu'un administrateur de boutique peut accéder aux données des autres administrateurs de boutique (et au système d'exploitation sous-jacent). J'imagine que vous considérez bien cette limite de sécurité, c'est pourquoi vous avez corrigé CVE-2017-15673.
Lorsque vous êtes connecté en tant qu'administrateur de boutique, vous pouvez modifier n'importe lequel des modèles. Dans ce cas, j'ai modifié le fichier de modèle my_account.tpl en ajoutant {phpinfo()}

Ensuite, après avoir consulté la page d'index et cliqué sur le menu déroulant « Mon compte », il est possible de déclencher l'exécution du modèle :

Il est également possible de déclencher cette vulnérabilité si l'administrateur de boutique dispose uniquement de l'accès Files via une attribution de groupe, sans aucune autre permission.

Et voici la vulnérabilité affectant le site de démonstration https://[redacted]/ :
