
Cockpit CMS 2.7.0 è affetto dalla vulnerabilità File Upload - XSS che consente agli attaccanti di caricare un file PDF con un XSS nascosto che, quando eseguito, lancerà il pop-up XSS.
Descrizione: La vulnerabilità di caricamento file in Cockpit CMS 2.7.0 consente a un attaccante locale di caricare un file PDF con XSS nascosto.
Vettori di attacco: AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:L/A:L
Questa è la versione del software.

Questo è il contenuto dell'XSS iniettato nel file PDF.

Quando accediamo al pannello, andiamo alla sezione "Assets." del menu Generale e facciamo clic su Upload Asset.

Carichiamo il file PDF iniettato:

Nella seguente prova possiamo vedere che è stato caricato correttamente:

Per accedere al PDF iniettato, facciamo clic sul file come mostrato di seguito:

E copiamo il link del percorso del server e l'ID del file in cui è archiviato:

Accediamo all'URL copiato e appare il pop-up XSS

La prima cosa è generare il PDF dannoso con XSS nascosto.
Per fare ciò, creiamo un file .js con il codice JavaScript che vogliamo iniettare per l'XSS nel file PDF.

Poi creiamo un file PDF vuoto (pdf2go) e iniettiamo il payload del file .js utilizzando lo strumento JS2PDFInjector

Possiamo analizzare il contenuto del PDF iniettato utilizzando lo strumento Peepdf.

C'è un oggetto con codice JavaScript in object[3] e possiamo verificarlo utilizzando lo strumento pdf-parser del toolkit Peepdf.

Ho rinominato il file per averlo più a portata di mano.

Carichiamo il file in Assets:

E quando lo apriamo otteniamo l'XSS del file PDF archiviato sul server.
