
Cockpit CMS 2.7.0 est affecté par une vulnérabilité de téléchargement de fichier - XSS qui permet aux attaquants de téléverser un fichier PDF contenant un XSS caché qui, lorsqu'il est exécuté, déclenchera la pop-up XSS.
Description : La vulnérabilité de téléversement de fichier dans Cockpit CMS 2.7.0 permet à un attaquant local de téléverser un fichier PDF contenant un XSS caché.
Vecteurs d'attaque : AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:L/A:L
Voici la version du logiciel.

Voici le contenu du XSS injecté dans le fichier PDF.

Lors de la connexion au panneau, nous nous rendons dans la section « Assets » du menu général et cliquons sur « Upload Asset ».

Nous téléversons le fichier PDF injecté :

Dans la preuve suivante, nous pouvons voir qu'il a été téléversé correctement :

Pour accéder au PDF injecté, nous cliquons sur le fichier comme indiqué ci-dessous :

Et nous copions le lien du chemin serveur et l'ID du fichier où il est stocké :

Nous accédons à l'URL copiée et la pop-up XSS apparaît

La première chose est de générer le PDF malveillant avec XSS caché.
Pour ce faire, nous créons un fichier .js avec le code Javascript que nous voulons injecter pour le XSS dans le fichier PDF.

Ensuite, nous créons un fichier PDF vide (pdf2go) et injectons le payload du fichier .js à l'aide de l'outil JS2PDFInjector

Nous pouvons analyser le contenu du PDF injecté à l'aide de l'outil Peepdf.

Il y a un objet avec du code javascript dans object[3] et nous pouvons le vérifier à l'aide de l'outil pdf-parser du kit Peepdf.

J'ai renommé le fichier pour l'avoir plus à portée de main.

Nous téléversons le fichier dans Assets :

Et lorsque nous l'ouvrons, nous obtenons le XSS du fichier PDF stocké sur le serveur.
