PoC CVE-2024-28157
Panoramica
Il plugin GitBucket di Jenkins, versione 0.8 e precedenti, non sanitizza gli URL di Gitbucket nelle viste di build, causando una vulnerabilità di cross-site scripting XSS memorizzato sfruttabile da attaccanti in grado di configurare job.
Passaggi di sfruttamento
Configurazione di Jenkins (usando docker):
- Usa docker per eseguire l'immagine di Jenkins.
docker run jenkins/jenkins:lts
- Installa il plugin Gitbucket dalla GUI (la versione più recente di questo plugin è la 0.8, che è vulnerabile, quindi l'exploit funzionerà).
Exploit:
- Vai su New Item e crea un nuovo job. Seleziona il tipo di elemento (nel demo ho usato il progetto freestyle).
- Nelle configurazioni, fornisci un semplice payload xxs
javascript:alert('hello') nella sezione Gitbucket URL.
- Salva le configurazioni e vai all'opzione Gitbucket. Osserva l'esecuzione della xss.
Video dell'exploit
jenkinsxxsexploit.webm