
Konzeptnachweis für ein gespeichertes XSS in SCM Manager 1.2 <= 1.60
Eine Sicherheitslücke wurde in der SCM Manager Version 1.2 <= 1.60 entdeckt, die es einem zuvor authentifizierten Angreifer mit Schreibberechtigungen ermöglicht, JavaScript-Code in bestimmten Feldern auszuführen.
Dieser Proof of Concept wurde in einer lokalen Umgebung erstellt, in der SCM Manager 1.60 mit Docker bereitgestellt wird.
1 - Git clone the repository
2 - Make sure that you are into the repository
3 - pip3 install -r requirements.txt
4 - python3 CVE-2023-33829.py -h
Kopieren und fügen Sie dieses Bash-Skript in eine script.sh-Datei ein, geben Sie Ausführungsberechtigungen und führen Sie die Datei aus:
#!/bin/bash
mkdir /var/lib/scm
chown 1000:1000 /var/lib/scm
docker run -v /var/lib/scm:/var/lib/scm -p 8080:8080 sdorra/scm-manager
Das Skript wurde von sdorra erstellt, hier ist der offizielle Link: https://bitbucket.org/sdorra/docker-scm-manager/src/master/
HINWEIS: Sie müssen Docker zuvor installiert haben.
Sobald Sie den SCM Manager 1.60 installiert haben, werden Sie nach einem Benutzernamen und einem Passwort gefragt:
Benutzername : scmadmin Passwort: scmadmin
Proof of Concept:

2- Erstellen Sie ein neues Repository mit einem beliebigen Typ, aber das Beschreibungs-Feld ist anfällig. Also injizieren wir die Payload, und sie wird ausgelöst:

3- Erstellen Sie einen neuen Benutzer. Das spezifisch anfällige Feld ist Anzeigename, injizieren Sie also die zuvor eingeführte Payload:

4- Erstellen Sie eine neue Gruppe. Das spezifisch anfällige Feld ist Beschreibung, injizieren Sie also unsere Payload:

VERWENDETE PAYLOAD:
Neuere Versionen des SCM Managers sind behoben.