ONCALL://19
INC-16 · ASP.NET Core / .NET

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。

INC-16严重看配置软件漏洞P1今天披露 2026-10-13
段子原句“宿主机还跑着 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
处置清单见处置顺序 · P1

结论

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.08.0.0 至 8.0.318.0.32
ASP.NET Core 9.09.0.0 至 9.0.209.0.21
ASP.NET Core 10.010.0.0 至 10.0.1210.0.13
ASP.NET Core 11.0 预览版Preview 1 至 RC 1RC 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]

时间线

  1. 2026-10-13(UTC;同日 UTC+8)
    微软发布 10 月 .NET servicing 更新,包含 .NET 8.0.32、9.0.21 和 10.0.13。[1]
  2. 2026-10-13(UTC;同日 UTC+8)
    微软公开 CVE-2026-88092,CVSS 9.4。[3]
  3. 2026-10-13(UTC;同日 UTC+8)
    微软公开 CVE-2026-70188,CVSS 9.1。[6]
  4. 2026-10-13(UTC;同日 UTC+8)
    微软公开 CVE-2026-105016,CVSS 9.8。[4]
  5. 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 漏洞混淆。

参考资料

调研截止 2026-10-22 UTC+8 · 未验证的内容已在正文中标注 · 数字以原始来源为准

本页目录