单点登录产品中存在 SAML 漏洞 攻击者可盗用他人身份

Posted 代码卫士

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单点登录产品中存在 SAML 漏洞 攻击者可盗用他人身份相关的知识,希望对你有一定的参考价值。

 聚焦源代码安全,网罗国内外最新资讯!

翻译:360代码卫士团队

Duo Labs 和美国计算机紧急事件响应小组协调中心 (CERT/CC) 将发布安全公告,详细说明能导致恶意攻击者以合法用户身份进行验证的 SAML 漏洞。

这个缺陷影响 SAML (安全声明标记语言),后者是基于 XML 的一种标记语言,常用于各方之间交换验证和授权数据。

SAML最重要的应用是在单点登录 (SSO) 解决方案中,供用户通过单一身份登录账户。和其它共享验证计划如OAuth、OpenID、OpenID Connect 和 Facebook Connect 不同,SSO 将用户身份存储在用户拥有账户的中心服务器中。

当用户尝试登录到其它企业应用时,这些应用(服务提供商)就会经由 SAML 向本地SSO 服务器(身份提供商)发出请求。

缺陷因 XML 处理注释方式引发

Duo Labs 研究人员在技术报告中说明了影响旨在支持基于 SAML 的 SSO 操作的多种SSO 软件和多种开源库的设计缺陷。

该缺陷在于这些库处理插入 SAML 响应请求之中的 XML 注释的方式。例如,研究人员注意到,如果攻击者将某条注释插入用户名字段中导致用户名断开,那么攻击者就可能获得访问合法用户的账户权限。


攻击者利用这个缺陷的唯一条件是在受害者网络中注册一个账户,查询 SAML 提供商并伪造一个请求“诱骗 SAML 系统以其它用户的身份进行验证”。

缺陷影响多个供应商和开源库
  • Duo Labs 的研究人员表示他们发现多个 SSO 供应商易受此类攻击,而这些供应商使用了如下某个库解析 SAML 的 XML 验证请求。OneLogin - python-saml - CVE-2017-11427

  • OneLogin - ruby-saml - CVE-2017-11428

  • Clever - saml2-js - CVE-2017-11429

  • OmniAuth-SAML - CVE-2017-11430

  • Shibboleth - CVE-2018-0489

  • Duo Network Gateway - CVE-2018-7340

然而,Duo Labs 表示,这个缺陷并非以同样的方式影响“所有的”基于 SAML 的 SSO 提供商,或者根本并非影响所有的提供商。

Duo Labs 团队表示,“出现这种行为虽说不好,但并非总会遭利用。SAML 身份提供商和服务提供商通常是可以配置的,因此加强或削弱影响的空间仍然很大。”

研究人员建议禁用敏感网络上的公开用户账户注册,并手动审查每个用户以避免攻击者在内网上注册账户。

此类攻击无法影响受双因素验证解决方案保护的账户。




关联阅读




原文链接

https://www.bleepingcomputer.com/news/security/saml-vulnerability-lets-attackers-log-in-as-other-users/


本文由360代码卫士编译,不代表360观点,转载请注明 “转自360代码卫士www.codesafe.cn”。



以上是关于单点登录产品中存在 SAML 漏洞 攻击者可盗用他人身份的主要内容,如果未能解决你的问题,请参考以下文章

漏洞分析与实践之基于SAML实现的单点登录系统

CSRF漏洞探讨

XXE漏洞利用技巧:从XML到远程代码执行

超危Golang XML解析器漏洞可导致SAML身份验证绕过

Confluence 6 数据中心的 SAML 单点登录最佳实践和故障排除

Confluence 6 数据中心的 SAML 单点登录最佳实践和故障排除