
Cockpit CMS 2.7.0 ist von der File Upload - XSS-Sicherheitslücke betroffen, die es Angreifern ermöglicht, eine PDF-Datei mit einem versteckten XSS hochzuladen, das bei Ausführung das XSS-Pop-up auslöst.
Beschreibung: Eine Datei-Upload-Schwachstelle in Cockpit CMS 2.7.0 erlaubt es einem lokalen Angreifer, eine PDF-Datei mit verstecktem XSS hochzuladen.
Angriffsvektoren: AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:L/A:L
Dies ist die Softwareversion.

Dies ist der Inhalt des XSS, das in die PDF-Datei injiziert wurde.

Beim Anmelden im Panel navigieren wir über das Hauptmenü zum Abschnitt „Assets.“ und klicken auf „Upload Asset“.

Wir laden die injizierte PDF-Datei hoch:

Im folgenden Nachweis können wir sehen, dass sie korrekt hochgeladen wurde:

Um auf das injizierte PDF zuzugreifen, klicken wir wie unten gezeigt auf die Datei:

Und wir kopieren den Link des Serverpfads sowie die ID der Datei, in der sie gespeichert ist:

Wir rufen die kopierte URL auf und das XSS-Pop-up erscheint

Als Erstes muss die schädliche PDF-Datei mit verstecktem XSS erstellt werden.
Dazu erstellen wir eine .js-Datei mit dem JavaScript-Code, den wir für das XSS in die PDF-Datei injizieren möchten.

Dann erstellen wir eine leere PDF-Datei (pdf2go) und injizieren die Payload der .js-Datei mit dem Tool JS2PDFInjector.

Wir können den Inhalt des injizierten PDFs mit dem Tool Peepdf analysieren.

Es gibt ein Objekt mit JavaScript-Code in object[3], und wir können es mit dem Tool pdf-parser aus dem Peepdf-Toolkit überprüfen.

Ich habe die Datei umbenannt, um sie griffbereiter zu haben.

Wir laden die Datei unter „Assets“ hoch:

Und wenn wir sie öffnen, haben wir das XSS der PDF-Datei, die auf dem Server gespeichert ist.
