
SCM Manager 1.2 <= 1.60 における格納型XSSに関する概念実証
SCM Manager 1.2 <= 1.60 バージョンに脆弱性が発見されました。書き込み権限を持つ認証済みの攻撃者が、特定のフィールドで JavaScript コードを実行できるようになります。
この Proof of Concept は、docker を使用して SCM Manager 1.60 をデプロイしたローカル環境で作成されました。
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 をインストールすると、ユーザー名とパスワードが要求されます:
ユーザー名 : scmadmin パスワード: scmadmin
Proof of Concept:

2- 任意のタイプで新しいリポジトリを作成します。ただし、Description フィールドが脆弱な部分です。ペイロードを注入すると、それがトリガーされます:

3- 新しいユーザーを作成します。特定の脆弱なフィールドは Display Name です。前述のペイロードを注入してください:

4- 新しいグループを作成します。特定の脆弱なフィールドは Description です。ペイロードを注入してください:

使用したペイロード:
SCM Manager の新しいバージョンでは修正されています。