PoC CVE-2024-28157
Übersicht
Das Jenkins-GitBucket-Plugin in Version 0.8 und früher bereinigt Gitbucket-URLs in
Build-Ansichten nicht, was zu einer gespeicherten Cross-Site-Scripting-XSS-Schwachstelle
führt, die von Angreifern ausgenutzt werden kann, die Jobs konfigurieren können.
Exploit-Schritte
Jenkins-Setup (mit Docker):
- Verwende Docker, um das Jenkins-Image auszuführen.
docker run jenkins/jenkins:lts
- Installiere das Gitbucket-Plugin über die GUI (Die neueste Version dieses Plugins ist 0.8, die verwundbar ist, sodass der Exploit funktioniert).
Exploit:
- Gehe zu „Neues Element“ und erstelle einen neuen Job. Wähle den Elementtyp (Ich habe im Demo ein Freestyle-Projekt gewählt).
- Gib in den Konfigurationen eine einfache XSS-Payload
javascript:alert('hello') im Gitbucket-URL-Abschnitt an.
- Speichere die Konfigurationen und gehe zur Gitbucket-Option. Beobachte die XSS-Ausführung.
Exploit-Video