关键ASP.NET Core漏洞获微软史上最高严重性评分
微软已修补ASP.NET Core中的一个关键漏洞,该漏洞获得了CVSS 9.9的严重性评分,这是微软在该网页开发框架中给予漏洞的最高评级。
该被追踪为CVE-2025-55315的漏洞影响了内置于ASP.NET Core的Kestrel网页服务器组件,可能允许经过身份验证的攻击者通过HTTP请求走私绕过安全功能。微软在安全公告中表示:“ASP.NET Core中对HTTP请求的不一致解释(‘HTTP请求/响应走私’)允许经过授权的攻击者通过网络绕过安全功能。”
该漏洞影响所有当前受支持的ASP.NET Core版本,包括版本8、9和10,以及运行于仅限Windows的.NET Framework上的较旧ASP.NET Core 2.3。
攻击者能做什么
该漏洞核心在于请求走私攻击,这种攻击利用了网页服务器和应用程序解释HTTP请求的方式。攻击者可以将恶意的第二个请求隐藏在看似合法的第一个请求内,可能允许执行通常需要身份验证的操作而无需适当授权。
微软ASP.NET Core安全项目经理Barry Dorrans在GitHub公告中表示,走私的请求可以执行各种恶意操作。“攻击者可能利用此漏洞以其他用户身份登录、绕过跨站请求伪造检查或执行注入攻击,“他写道。
然而,Dorrans强调实际风险很大程度上取决于应用程序的编写和部署方式。除非"您的应用程序代码执行某些异常操作并跳过本应对每个请求进行的一系列检查”,否则不太可能出现不良后果。
CVSS困惑
尽管Dorrans对实际风险持谨慎评估态度,但9.9的CVSS评级在开发人员中引起了相当大的困惑,许多人质疑该漏洞是否真的值得如此极端的严重性评分。
Dorrans在GitHub讨论中直接解决了这个问题,解释说微软的评分方法考虑了最坏情况。“仅就ASP.NET Core而言,“他写道,评级将"远没有那么高”。但微软根据"可能改变范围的安全功能绕过的潜力"对漏洞进行评分,意味着攻击可能影响超出最初易受攻击组件的其他部分。
当开发人员询问哪些应用程序代码模式可能易受攻击时,Dorrans提供了谨慎的回应。“任何对请求执行某些操作的都可能是问题,“他说,并补充说"进行身份验证并基于该身份验证具有访问规则的应用程序可能易受攻击。“然而,他指出这些是个人观察而非微软官方指导。
谁需要修补?
该漏洞影响广泛的ASP.NET Core版本。根据公告,任何运行ASP.NET Core 10.0.0-rc.1.25451.107或更早版本、ASP.NET Core 9.0.9或更早版本、ASP.NET Core 8.0.20或更早版本,或具有Microsoft.AspNetCore.Server.Kestrel.Core版本2.3.0或更早版本的ASP.NET Core 2.x的应用程序都易受此漏洞影响。
组织根据其部署模型面临不同的修补要求。使用框架相关部署的应用程序依赖于服务器上安装的.NET运行时,意味着管理员必须更新服务器本身。那些使用自包含部署(将运行时与应用程序捆绑在一起)的必须单独重建和重新部署每个受影响的应用程序。
微软在所有受支持的版本中都发布了修补版本。公告称,开发人员应升级到.NET 8.0.21运行时或.NET 8.0.318 SDK(适用于版本8)、.NET 9.0.10运行时或.NET 9.0.111 SDK(适用于版本9),或.NET 10.0.0-rc.2.25476.107运行时(适用于版本10预发布)。对于传统的ASP.NET Core 2.x应用程序,微软通过NuGet发布了Kestrel.Core包版本2.3.6。
有些人可能已经受到保护
然而,并非所有组织都需要立即采取行动。一个缓解因素是,受反向代理或API网关保护的应用程序可能已经具有足够的防御措施,Dorrans说。
“如果网关或代理移除走私请求,应用程序就受到保护,“他写道。然而,直接面向互联网而没有此类中间过滤的Kestrel实现仍然易受攻击。
微软在其官方更新指南中表示,该漏洞尚未已知在野外被利用。
尽管如此,Dorrans建议组织应仔细评估其特定风险。“只有您能评估应用程序的风险,“他写道,同时建议"谨慎的方法是尽快修补。”