网络安全

Microsoft 安全公告 3214296 身份模型扩展令牌签名验证中的漏洞可能允许特权提升

发布时间:2017-01-19 16:45

发布日期:2017 年 1 月 10 日

版本:1.0

执行摘要

Microsoft 即将发布此安全公告,以便披露身份模型扩展 5.1.0 公共版本中的漏洞信息。此公告还提供了开发人员可采取操作的相

关指南,以帮助确保正确更新其应用。

Microsoft 知道 Microsoft.IdentityModel.Tokens 5.1.0 公共版本中的安全漏洞,其中使用对称密钥签名的令牌可能容易受到篡改。

如果使用对称密钥签名的令牌用于验证用户的身份,并且应用基于该用户的经验证的身份做出决定,则应用可能做出不正确的决

定,导致特权提升。

建议开发人员更新所有应用以使用软件包版本 5.1.1。

缓解因素

令牌的签名算法由应用用于对用户进行身份验证的标识提供者指定。只有对称签名算法易受此问题的影响,并且没有已知的公共标

识提供者使用对称签名算法。由标识提供者使用不对称签名算法签名的令牌不容易受到密钥篡改的影响。

随附以供在 Visual Studio 中使用的 ASP.NET 模板不绑定到此程序包的易受攻击版本。

无论程序包是否用于验证使用对称密钥算法签名的令牌,Microsoft 均鼓励所有开发人员更新其程序包,以防止他们自己或第三方

软件将来使用这些组件。

公告常见问题解答

如何知晓我受到了影响?

.NET 具有两类不同的依赖关系:直接和传递。如果 .NET Framework 或 .NET Core 项目与“受影响的软件”部分中列出的任何受影

响程序包存在直接或传递依赖关系,则可能会受影响。

直接依赖关系

专门将程序包添加到项目中时会发生直接依赖关系。例如,如果将 Microsoft.IdentityModel.Tokens 程序包添加到项目中,则将采

用 Microsoft.IdentityModel.Tokens 上的直接依赖关系。

通过查看 project.json 或 .proj 文件可发现直接依赖关系。

传递依赖关系

将程序包添加到项目中且此项目又依赖于另一程序包时,会发生传递依赖关系。

传递依赖关系可在 Microsoft Visual Studio 解决方案资源管理器窗口(此窗口支持搜索)中进行查看,或者通过查看项目根目录中

包含的 project.lock.json 文件来进行查看。此文件包含项目的程序包授权列表。