
Preuve de concept pour CVE-2022-34919, démontrant le téléchargement arbitraire de fichiers non authentifié et l'exécution de code à distance (RCE) dans l'interface classique de Contensis CMS via des requêtes HTTP spécialement conçues.
Le système de gestion de contenu Contensis antérieur à la version 15.2.1.79 présente une faille dans son interface 'Classique' qui permet à un utilisateur non authentifié de télécharger et d'approuver des fichiers arbitraires. En téléchargeant un fichier aspx, il est possible d'exécuter des commandes dans le contexte du serveur web.
Cette vulnérabilité a été découverte en mars 2022 et corrigée par Zengenti dans leur version du 8 avril 2022.
Étapes pour reproduire :
1:
Le téléchargement initial du fichier est effectué avec une requête POST sur le point de terminaison suivant :
https://[example].cloud.contensis.com/REST/UI/Wizards/CreateContent/UploadFile?folderId=1&projectId=1&context=%7B%22UserID%22%3A1%2C%22LanguageID%22%3A1%2C%22SecurityToken%22%3A%22%22%7D
Le paramètre context indique quel utilisateur télécharge le fichier ; dans ce cas, UserId 1, administrateur système. Le paramètre SecurityToken est requis mais peut être vide. Cette requête (capture d'écran 1) génère un fichier temporaire sur le serveur avec un UUID. Dans cet exemple, j'ai utilisé un webshell disponible sur : https://github.com/tennc/webshell/blob/master/fuzzdb-webshell/asp/cmd.aspx

2:
Le fichier doit ensuite être approuvé avec une requête POST sur le point de terminaison suivant :
https://[example].cloud.contensis.com/REST/UI/Wizards/CreateContent/CreateContent
Cette requête (capture d'écran 2) inclura le chemin vers le fichier temporaire de la requête initiale et inclura des paramètres pour approuver la publication et modifier le type de contenu pour contourner les restrictions de fichiers. Dans cet exemple, ContentTypeId est défini sur 43, indiquant qu'il s'agit d'un document HTML, plutôt que ASPX. Le fichier est ensuite disponible sur les domaines 'preview' et 'live' ci-dessous :
3:
Soyez responsable et ne testez cela que sur des hôtes autorisés (capture d'écran 3)