Digiteam sales gamification portal权限提升漏洞CVE-2024-37758
DigiTeam是Digiteam公司的一种销售数字化和游戏化移动解决方案,DigiTeam是一款Web开发设计和建站企业CMS系统Laravel网站源码。
DigiTeam 适合任何网站的现代设计,只需单击几下即可构建网站,使用易理解的管理面板在几分钟内准备好自己的网站,无需编码经验。
一、基本情况
DigiTeam 的销售数字化和游戏化解决方案(Digiteam Sales Gamification)特别适用于大型销售团队,如银行和保险公司等等公司用户。
栋科技漏洞库关注到DigiTeam Sales Gamification CRM portal version 4.21.0.0版本中存在的CVE-2024-37758漏洞,漏洞CVSS评分8.8。
二、漏洞分析
CVE-2024-37758是Digiteam v4.21.0.0版本中存在的一个权限提升漏洞,源于端点 /RoleMenuMapping/AddRoleMenu 中的访问控制不当。
CV-2024-37758漏洞涉及到不适当的访问控制,具体而言,是端点 /RoleMenuMapping/AddRoleMenu中允许经认证的攻击者将特权升级。
这意味着拥有有效帐户的攻击者可以利用这一漏洞,获得高于预期的权限,从而可能导致未经授权访问敏感数据或系统控件,危害较大。
该漏洞利用需要一定的条件,即需要低权限用户帐户登录访问,通常情况下,低权限用户只能实现登录功能而无法访问门户的任何功能。
三、攻击拆解
1、低权限用户帐户的访问
恶意攻击者可以通过利用访问DigiTeam Sales Gamification CRM portal version 4.21.0.0中的低权限账户,然后再通过Burp套件代理流量。
2、现在就可以看到应用服务器提供的会话cookies和CSRF令牌
3、现在有一个API endpoint /Role/GetGridItems 容易受到破坏访问控制问题的攻击,这一数据原本只针对管理员用户开放。
但通过使用低特权帐户会话cookies和CSRF令牌发送以下POST请求,攻击者可获取有关可用角色所有信息,包括RoleID、名称、状态等。
4、获取信息的角色 ID 后,攻击者可以向/RoleMenuMapping/AddRoleMenu发送以下 API 请求,
通过在 POST 正文的 RoleID 和 ItemRoleID 参数中提及自己的角色 ID。然后提及所有权限 ID(如下面的请求所示)来升级到完全权限:
5、发送上述请求后,只需刷新浏览器,它将加载所有特性和功能,确认成功完成完全垂直权限提升,如下所示:
6、下面显示攻击者通过执行威胁,所属的角色“低级帐户”现在已分配所有权限和角色。
7、总结:开发人员应该确保在每个端点级别进行授权检查,这也可以通过中间件传递所有请求来完成。
三、影响范围
Digiteam v4.21.0.0
四、修复建议
Digiteam > 4.21.0.0
五、参考链接