CVE-2022-23131:SAML SSO 身份验证绕过漏洞

0x01 漏洞描述: SAML SSO身份验证绕过漏洞

安全断言标记语言(SAML)是最为广泛采用的单点登录(SSO)标准之一。通过XML实现,SAML允许身份提供者(IdP,即能对用户进行身份验证的实体)向服务提供者(SP,在此为Zabbix)传递关于用户身份的信息。虽然Zabbix Web前端允许配置使用SAML进行用户身份验证,但默认情况下未启用该功能,因为它需要了解身份提供者的详细信息。这是企业部署中最为常见的设置。

在启用SAML SSO身份验证的情况下,存在一漏洞使得攻击者能够绕过身份验证并获得管理员权限。攻击者可以利用此权限在关联的Zabbix Server和Zabbix Agent实例上执行任意命令。

图片[1]-CVE-2022-23131:SAML SSO 身份验证绕过漏洞-山海云端论坛

0x02 影响范围: 影响Zabbix Web前端版本:

  • 5.4.8
  • 5.0.18
  • 4.0.36

0x03 漏洞分析: 与SAML身份验证机制相关的代码可以在index_sso.php中找到。简而言之,其目标为:

  1. 将用户重定向到IdP。
  2. 用户通过身份验证后,验证传入的SAML有效负载的格式和签名。创建名为saml_data的会话条目以存储用户属性。
  3. 如果会话中存在名为saml_data的条目,则提取其值,并根据username_attribute的值在Zabbix上对用户进行身份验证。

示例代码片段:

if (CSessionHelper::has('saml_data')) {<br>$saml_data = CSessionHelper::get('saml_data');<br>CWebUser::$data = API::getApiService('user')->loginByUsername($saml_data['username_attribute'],<br>(CAuthenticationHelper::get(CAuthenticationHelper::SAML_CASE_SENSITIVE) == ZBX_AUTH_CASE_SENSITIVE),<br>CAuthenticationHelper::get(CAuthenticationHelper::AUTHENTICATION_TYPE)<br>);

0x04 漏洞利用: 漏洞利用相对简单,尤其因为Zabbix Web前端已自动配置一个名为Admin的高权限用户。攻击者通过绕过身份验证成为管理员,从而在关联的Zabbix Server和Zabbix Agent实例上执行任意命令。

图片[2]-CVE-2022-23131:SAML SSO 身份验证绕过漏洞-山海云端论坛

漏洞利用步骤:

  1. [zbx_signed_session]替换为[cookie]
  2. 单击”SAML登录”,绕过登录进入后台。
图片[3]-CVE-2022-23131:SAML SSO 身份验证绕过漏洞-山海云端论坛

0x05 exp获取

CVE-2022-23131:SAML SSO 身份验证绕过漏洞-山海云端论坛
隐藏内容,输入密码后查看
在公众号对话框发送:CVE,即可获得
© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容