各位 .NET 开发者,如果你今天发现公司的运维老哥脸色不太好,别问,问就是微软又偷偷发“紧急补丁”了。

这次不是常规的“补丁星期二”,而是微软火急火燎推出来的带外更新(OOB,Out-of-Band)。啥叫带外更新?就是等不及下个月了,现在、立刻、马上得修的那种。
微软这次为 .NET 8、9、10 以及 11 的 RC3 版本推送了更新,主要修复了两个相当致命的漏洞。咱们不念枯燥的官方公告,直接用大白话聊聊这事儿到底有多严重,以及你怎么保住自己的饭碗。
1. Brotli 解压炸了:全平台通杀的内存危机
这次最核心的漏洞(CVE-2026-111497),出在 Brotli 解压缩算法上。

Brotli 是现在非常流行的一种压缩算法(比传统的 Gzip 压缩率更高,网页和 API 经常用)。如果你的 .NET 应用(比如 ASP.NET Core 处理请求、HttpClient 自动解压,或者直接调用了 System.IO.Compression 的 Brotli API)在解析别人传过来的压缩包时,没控制好内存边界,就会发生缓冲区溢出。
后果有多严重?
黑客可以趁机读取甚至篡改你服务器的进程内存。轻则服务直接崩溃(DoS),重则直接提权拿下服务器。而且这玩意儿全平台通杀,Windows、Linux 谁都跑不掉。只要你的应用会处理 Brotli 压缩数据,就在射程范围内。
2. Linux 源码包的“低级失误”
第二个漏洞(CVE-2026-114148)只影响 Linux 用户,而且属于典型的“打包事故”。

微软在打包 .NET 源码和 ASP.NET Core 发行版(也就是那些 .tar.gz 压缩包)的时候,文件的所有者权限(属主元数据)没设置对。结果就是,本地的一些别有用心的人,可以借机修改这些文件,顺便把自己的权限提上去。
虽然这需要攻击者已经具备了本地访问权限才能搞事,但这确实是个不该犯的低级错误。
3. 最搞人心态的“回锅肉”补丁
除了上面两个新漏洞,这次更新还顺手“重新发布”了 10 月 13 日的两个补丁(一个是 Socket 内存损坏,一个是 Blazor WebAssembly 调试器问题)。
为啥重新发布?因为微软在公告里含蓄地承认:上次的补丁没修干净……
这种“补丁的补丁”的操作,真的是让人哭笑不得。这也提醒大家,如果你 10 月份打过补丁,别以为万事大吉了,这次还得再打一遍。
怎么修?
别去翻那些晦涩的官方文档了,直接对号入座,看看你的项目属于哪种情况:
- 普通应用(依赖框架部署):直接在服务器上更新 .NET 运行时,然后重启应用。
- 独立发布的应用(自包含部署):光更新服务器没用!你得在开发机上用最新的 SDK 重新编译、重新发布一遍,把新的运行时打包进去。
- Docker 容器玩家:去拉取最新的 .NET 基础镜像,重新 build 并部署你的容器。
- Linux 源码编译党:赶紧去下载最新的源码压缩包,重新编译,把那个坑爹的权限问题覆盖掉。

怎么检查自己中招没?
在服务器上敲一行命令:
dotnet --list-runtimes
看看你的版本号是不是最新的。如果是 .NET 8、9、10,赶紧去更新面板里瞅瞅,或者用包管理器(如 apt / yum / winget)把 .NET 升级到最新版。










