微软紧急发布ASP.NET Core数据保护库严重安全漏洞带外补丁

微软披露,4月14日发布的.NET 10.0.6更新意外引入了一个CVSS评分9.1的严重漏洞(CVE-2026-40372),影响ASP.NET Core数据保护库。该漏洞导致HMAC验证标签计算偏移错误,攻击者可伪造通过身份验证的载荷,并解密受保护的认证Cookie及令牌。受影响的Linux、macOS及Windows开发者需立即升级至10.0.7版本,并重建相关应用、使所有受影响的认证Cookie和令牌失效。

微软近日披露,上周发布的ASP.NET Core更新包意外在该Web框架的数据保护库中引入了一个严重安全漏洞,并已向开发者发出警告,建议尽快检查相关应用程序。

微软将此问题定性为"回归性缺陷",即某次更新导致此前正常运行的功能出现故障。

此次引入的漏洞编号为CVE-2026-40372,CVSS评分高达9.1,属于严重级别。该漏洞影响通过NuGet包管理器分发的ASP.NET Core数据保护应用程序库,波及Linux、macOS及其他非Windows操作系统,同时也影响开发者通过UseCustomCryptographicAlgorithms API显式启用托管算法的Windows系统。

该漏洞源于.NET 10.0.6版本包中的一个缺陷。该版本于4月14日"补丁星期二"更新中发布,其中ManagedAuthenticatedEncryptor库在计算基于哈希的消息认证码(HMAC)的验证标签时,使用了错误的偏移量。

安全哈希值的错误计算,导致不应被信任的.AspNetCore应用程序Cookie和Token得以通过验证并被系统信任。

微软在GitHub安全公告中指出:"在上述情况下,验证机制的失效可能允许攻击者伪造能够通过数据保护真实性检查的载荷,并解密身份验证Cookie、防伪Token、TempData、OIDC状态等中此前受保护的内容。"

这类长效Token一旦被植入应用程序,将赋予攻击者极为强大的权限。公告进一步警告称:"若攻击者在漏洞窗口期内利用伪造载荷以特权用户身份进行认证,可能诱使应用程序向其颁发合法签名的Token,例如会话刷新令牌、API密钥、密码重置链接等。"

值得注意的是,此次漏洞距ASP.NET去年10月曝出的严重缺陷仅过去六个月。彼时,Kestrel Web服务器组件中的CVE-2025-55315漏洞CVSS评分高达9.9。更令人担忧的是,此次安全公告将当前问题与MS10-070相提并论——后者是针对CVE-2010-3332的紧急补丁,该零日漏洞涉及Windows ASP.NET处理加密错误的方式,曾于2010年引发广泛恐慌。

通常情况下,漏洞发现后的标准处置流程仅需应用更新、临时方案或缓解措施。而此次情况有所不同——服务器构建版本应已自动完成更新,运行时已升级至修复版本10.0.7。

然而,对于使用主流Docker容器平台的开发者而言,情况更为复杂。在此类项目中,数据保护库已被嵌入到构建完成的应用程序中。要彻底解决此问题,需要更新并重新构建所有在4月14日更新之后创建的ASP.NET Core应用程序。

此外,为兼容包括旧版Windows在内的老版操作系统,在netstandard2.0或net462目标框架资产中使用10.0.x版本存在缺陷的NuGet包的开发者同样受到影响。

关于如何判断是否加载了存在漏洞的二进制文件,微软安全公告给出了以下建议:

"检查应用程序日志。升级至10.0.6版本后,若日志中出现用户被频繁登出以及'载荷无效'的反复报错,即为最明显的症状。检查项目文件,查找.csproj文件中是否存在对Microsoft.AspNetCore.DataProtection 10.0.6版本的PackageReference引用(或依赖该版本的包)。此外,也可运行dotnet list package命令查看已解析的包版本。"

综上所述,开发者应重新构建受影响的应用程序以应用修复版本,使所有受影响的身份验证Cookie和Token失效以清除伪造内容,并轮换更新ASP.NET Core数据保护Token。

尽管目前尚无证据显示该漏洞已遭到攻击者利用,但微软建议,出于良好的安全规范,仍应检查是否存在异常登录失败、错误或身份验证失败等情况。

Q&A

Q1:CVE-2026-40372漏洞具体会造成什么危害?

A:CVE-2026-40372是ASP.NET Core数据保护库中的一个严重漏洞,CVSS评分9.1。由于HMAC验证标签计算时使用了错误偏移量,导致不应被信任的Cookie和Token通过了验证。攻击者可借此伪造能通过真实性检查的载荷,解密受保护的身份验证Cookie、防伪Token等内容,甚至在特权用户身份下诱使应用程序颁发合法签名的Token,包括API密钥和密码重置链接等。

Q2:哪些开发者会受到ASP.NET Core数据保护库漏洞的影响?

A:受影响范围较广。使用Linux、macOS等非Windows系统的开发者,以及在Windows上通过UseCustomCryptographicAlgorithms API启用托管算法的开发者均受影响。使用Docker容器平台的开发者尤其需要注意,因为数据保护库已被嵌入构建好的应用中,需重新构建4月14日之后创建的ASP.NET Core应用。此外,使用netstandard2.0或net462目标框架的开发者也在受影响之列。

Q3:如何检测并修复ASP.NET Core数据保护库漏洞?

A:检测方法包括:查看应用日志是否出现用户频繁登出或"载荷无效"报错;检查.csproj项目文件中是否引用了Microsoft.AspNetCore.DataProtection 10.0.6版本;运行dotnet list package命令确认包版本。修复措施包括:更新并重新构建受影响应用至10.0.7版本,使所有受影响的身份验证Cookie和Token失效,并轮换更新ASP.NET Core数据保护Token。

来源:InfoWorld

0赞

好文章,需要你的鼓励

2026

04/27

08:16

分享

点赞

邮件订阅