ASP.NET Core Kestrel 请求走私与 Microsoft QUIC RCE
微软在 2026-10-13 发布 .NET 月度安全更新。Kestrel 的 HTTP/1 请求走私(CVE-2026-88092)可让隐藏请求绕过边缘访问控制;HTTP/2 尾部字段的换行处理(CVE-2026-70188)也有缺陷。另有 Windows 上 Microsoft QUIC 的堆溢出 RCE。
段子原句“宿主机还跑着 ASP.NET Core 面板和 .NET 本地服务”
- 编号
CVE-2026-88092CVE-2026-70188CVE-2026-105016- 严重度
- Kestrel CVSS 3.1 9.4 / 9.1;QUIC 9.8
- 利用状态
- 未见利用未见利用:未发现在野利用的可靠证据。
- 对段子公司
- 面板如果跑在 8.0.31、9.0.20、10.0.12 或更低版本,就受 Kestrel 请求走私影响。QUIC RCE 只影响 Windows 上显式引用的特定 QUIC 包。
- 影响范围
- 适用于 Windows、Linux、macOS 和所有架构,自包含应用必须重新编译部署。官方未公布受影响部署数。
- 修复版本
- →ASP.NET Core 8.0.32 / 9.0.21 / 10.0.13
- →SDK 8.0.426 / 9.0.319 / 10.0.402
- →QUIC 包
2.5.11-ci.159417053
结论
2026 年 10 月 13 日,微软发布多项 .NET 和 ASP.NET Core 安全修复。[1] [2] Kestrel 的两项 HTTP 请求处理漏洞分别为 CVSS 9.4 和 9.1;另有 Microsoft QUIC 的远程代码执行漏洞,评分 9.8。[3] [4] 没有可靠证据表明这些漏洞已在野利用,也没有官方披露受害用户、下载量或资金损失数字。[3] [4] [5]
事件经过
微软在 2026 年 10 月补丁星期二发布 .NET 运行时、ASP.NET Core 及 .NET Framework 更新。微软 .NET 团队公告列出 .NET 10.0.13、9.0.21 和 8.0.32。[1]
其中两项漏洞位于 Kestrel,即 ASP.NET Core 内置服务器。CVE-2026-88092 可导致 HTTP/1 请求走私;CVE-2026-70188 则涉及 HTTP/2 请求尾部字段中的换行符处理。[3] [6]
同日还披露 CVE-2026-105016。该漏洞位于 Windows 版 Microsoft QUIC,攻击者可发送特制 IPv6 QUIC 数据包,触发远程代码执行。[4]
技术细节
CVE-2026-88092 的评分为 CVSS 3.1 9.4,严重性为 Critical。Kestrel 在 HTTP/1 连接中止后,可能把未读取的请求体字节重新解析为下一条请求。[3] 代理可能只检查外层请求,导致隐藏请求绕过边缘访问控制。
CVE-2026-70188 的评分为 CVSS 3.1 9.1,严重性为 Critical。Kestrel 未将 HTTP/2 尾部字段中不合法的换行字符视为格式错误,也可能接受动态 HPACK 表中的对应值。[6] 请求解析层与后续应用层的解释由此可能不一致。
CVE-2026-105016 的评分为 CVSS 3.1 9.8,严重性为 Critical。微软公告指出,Windows 上的 Microsoft QUIC 处理特制 IPv6 数据包时存在堆缓冲区溢出,可导致远程代码执行。[4] 受影响范围是公告列出的 Microsoft.Native.Quic.MsQuic.Schannel 包版本;不能仅凭机器安装 .NET 就断定可被利用。
这些公开的 CVSS 评分中,没有 9.9 或 10.0。Kestrel 漏洞是请求解析与协议规范校验问题;QUIC 漏洞是堆缓冲区溢出。微软公告没有把三者归因于单一根因。[3] [4] [6]
影响范围
微软列出的 Kestrel 受影响版本与修复版本如下。[3] [6]
| 产品 | 受影响版本 | 修复版本 |
|---|---|---|
| ASP.NET Core 8.0 | 8.0.0 至 8.0.31 | 8.0.32 |
| ASP.NET Core 9.0 | 9.0.0 至 9.0.20 | 9.0.21 |
| ASP.NET Core 10.0 | 10.0.0 至 10.0.12 | 10.0.13 |
| ASP.NET Core 11.0 预览版 | Preview 1 至 RC 1 | RC 2 |
公告适用于 Windows、Linux、macOS 和所有架构。部署自包含应用的组织也必须重新编译并部署。[3] [6]
CVE-2026-105016 影响 Windows 平台上公告明确列出的 QUIC 包版本。微软列出的包修复版本为 2.5.11-ci.159417053,受影响版本为 2.5.11-ci.156755675。[4] .NET 10.0.13 发布说明也将其列为安全修复。[2]
没有找到可信来源披露受影响用户数、下载量、部署数量、证书数量或资金损失。公开公告没有给出可量化的受害规模。[1] [2] [3] [4]
时间线
- 2026-10-13(UTC;同日 UTC+8)微软发布 10 月 .NET servicing 更新,包含 .NET 8.0.32、9.0.21 和 10.0.13。[1]
- 2026-10-13(UTC;同日 UTC+8)微软公开 CVE-2026-88092,CVSS 9.4。[3]
- 2026-10-13(UTC;同日 UTC+8)微软公开 CVE-2026-70188,CVSS 9.1。[6]
- 2026-10-13(UTC;同日 UTC+8)微软公开 CVE-2026-105016,CVSS 9.8。[4]
- 2026-10-14(UTC;同日 UTC+8)HeroDevs 发布对两项 Kestrel 漏洞的技术分析,并称其影响已停止支持的 .NET 6。[7]
修复与缓解
- 将 ASP.NET Core 运行时升级至 8.0.32、9.0.21 或 10.0.13。11.0 预览版升级至 RC 2。[1] [3]
- 同步更新 SDK。对应版本为 .NET 8 SDK 8.0.426、.NET 9 SDK 9.0.319 和 .NET 10 SDK 10.0.402。[1] [3]
- 更新共享框架后重启应用,使新运行时生效。[3]
- 对自包含应用,使用修复后的 SDK 重新构建并重新部署。[3]
- 若应用显式引用受影响的 QUIC NuGet 包,应更新至
2.5.11-ci.159417053或更高版本。[4] - 盘点所有宿主机、容器和自包含部署。用
dotnet --info核对安装版本。[3] - 临时无法升级时,可评估关闭不需要的 HTTP/2、HTTP/3 或 QUIC 入口,并在代理层拒绝异常请求。微软公告没有提供这类配置作为官方完整替代修复;仅作风险降低措施。
对段子中公司的影响
若面板或本地服务运行在受影响的 ASP.NET Core 8、9 或 10 版本,且 Kestrel 可被网络访问,就可能受两项 Kestrel 漏洞影响。[3] [6] 如果 Kestrel 位于 NGINX 后方,HTTP/1 请求走私可能造成前置代理与后端解析不同步,从而绕过边缘路由或访问控制。
题设未提供该公司的 .NET 版本、HTTP 协议配置、面板暴露范围或服务流量路径。因此无法确认其实际受影响状态。若主机只运行 .NET Framework 应用,Kestrel CVE 不直接适用;应另行核对 .NET Framework 公告。
CVE-2026-105016 仅在其 Windows 平台与 QUIC 包版本条件符合时相关。题设说宿主机跑 ASP.NET Core 和 .NET 本地服务,但没有说明 Windows、QUIC 或受影响包,因此不能据此认定可被远程利用。[4]
存疑与未验证
- 微软公告没有给出这些漏洞已遭在野利用的证据。SANS 对 10 月整批微软漏洞的统计提到的已利用漏洞是 Windows Shell CVE-2026-96951,不是上述 .NET 漏洞。[5]
- CVE-2026-108398 是 .NET Framework 安全功能绕过,CVSS 8.8;微软称公开披露但未发现利用。它与 ASP.NET Core/Kestrel 是不同产品,不应混为同一事故。[8]
- 没有公开受害规模和实际损失数据。具体用户数、下载量、受影响企业数及财务损失均未找到。
- 微软官方 Kestrel 公告没有说明 .NET 6;HeroDevs 称其代码审查发现 .NET 6 也受影响,但这不是微软对 .NET 6 的官方支持声明。[7]
- 没有找到证据表明 Kestrel 漏洞的 CVSS 为 9.9 或 10.0。该数字可能与其他年份的 ASP.NET Core 漏洞混淆。
参考资料
- [1] .NET and .NET Framework October 2026 servicing releases updates
- [2] .NET 10.0.13 Release Notes
- [3] Microsoft Security Advisory CVE-2026-88092
- [4] Microsoft Security Advisory CVE-2026-105016
- [5] October 2026 Microsoft Patch Tuesday
- [6] Microsoft Security Advisory CVE-2026-70188
- [7] CVE-2026-88092 & CVE-2026-70188: Critical Kestrel Vulnerabilities in .NET 6
- [8] CVE-2026-108398 .NET Framework Security Feature Bypass Vulnerability
调研截止 2026-10-22 UTC+8 · 未验证的内容已在正文中标注 · 数字以原始来源为准