
Proof of Concept о хранимой XSS в SCM Manager 1.2 <= 1.60
Обнаружена уязвимость в версиях SCM Manager 1.2 <= 1.60, позволяющая злоумышленникам, предварительно аутентифицированным с правами на запись, выполнять код JavaScript в определённых полях.
Это доказательство концепции создано в локальной среде с развёртыванием SCM Manager 1.60 с использованием Docker
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
Скопируйте и вставьте этот bash-скрипт в файл script.sh, дайте права на выполнение и запустите файл:
#!/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
Скрипт создан sdorra, вот официальная ссылка: https://bitbucket.org/sdorra/docker-scm-manager/src/master/
ПРИМЕЧАНИЕ: Docker должен быть установлен заранее.
После установки SCM Manager 1.60 он запросит имя пользователя и пароль:
Username : scmadmin Password: scmadmin
Доказательство концепции:

2- Создайте новый репозиторий любого типа, но уязвимым является поле Description, поэтому давайте внедрим полезную нагрузку, и она будет выполнена:

3- Создайте нового пользователя; уязвимым полем является Display Name, поэтому внедрите полезную нагрузку, показанную ранее:

4- Создайте новую группу; уязвимым полем является Description, поэтому внедрите нашу нагрузку:

ИСПОЛЬЗУЕМАЯ НАГРУЗКА:
Новые версии SCM Manager исправлены.