PoC CVE-2024-28157
El plugin GitBucket de Jenkins versión 0.8 y anteriores no sanitiza las URLs de Gitbucket
en las vistas de build, lo que resulta en una vulnerabilidad de cross-site scripting (XSS) almacenado
explotable por atacantes capaces de configurar trabajos.
Pasos de explotación
Configurar Jenkins (usando docker):
- Usa docker para ejecutar la imagen de jenkins.
docker run jenkins/jenkins:lts
- Instala el plugin Gitbucket desde la GUI (La versión más reciente de este plugin es la 0.8, que es vulnerable, por lo que el exploit funcionará).
Explotación:
- Ve a Nuevo elemento y crea un nuevo trabajo. Selecciona el tipo de elemento (en la demo usé un proyecto de estilo libre).
- En las configuraciones, proporciona un payload simple de xxs
javascript:alert('hello') dentro de la sección de URL de Gitbucket.
- Guarda las configuraciones y ve a la opción Gitbucket. Observa la ejecución del xss.
Vídeo del exploit
jenkinsxxsexploit.webm