在SCM Manager 1.2 <= 1.60版本中发现了一个漏洞,允许先前经过身份验证且具有写入权限的攻击者在特定字段中执行JavaScript代码。
此概念验证是在本地环境中使用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
概念验证:

2- 创建一个任意类型的新仓库,但描述字段是易受攻击的,因此我们注入payload,它将被触发:

3- 创建一个新用户,易受攻击的字段是显示名称,因此注入之前使用的payload:

4- 创建一个新组,易受攻击的字段是描述,因此注入我们的payload:

使用的payload:
新版本的SCM Manager已修复此问题。