CVE-2026-40361 — Microsoft Word 零点击远程代码执行漏洞(通过 Outlook 预览窗格触发)
存在 11 年后被重新发现,无需用户任何交互即可通过 Outlook 邮件触发的 Word RCE。
漏洞概述
| 项目 | 内容 |
|---|---|
| CVE 编号 | CVE-2026-40361 |
| 漏洞类型 | Use-After-Free(CWE-416) |
| CVSS | 8.4(Critical) |
| 发现者 | Haifei Li(曾发现 "BadWinmail" CVE-2015-6172 的知名安全研究员) |
| 修复时间 | 2026 年 5 月 12 日(微软 5 月补丁星期二) |
| 在野利用 | ⚠️ 披露时未发现,但补丁 diff 后可能被武器化 |
| PoC 状态 | ✅ 研究者已开发 PoC |
漏洞原理
根因:wwlib.dll 中的 Use-After-Free
漏洞位于 wwlib.dll 中——这是 Outlook 和 Word 共享的动态链接库。当 Outlook 渲染 HTML 格式邮件时,会调用 wwlib.dll 的排版引擎解析邮件内容。
攻击者构造特制的 RTF/HTML 邮件,在解析过程中触发释放后使用:
- 邮件渲染过程中,某个对象被释放
- 但代码中仍保留指向该对象的指针
- 攻击者控制释放后内存的重新分配,填入恶意载荷
- 当代码继续使用该已释放的指针时,执行攻击者控制的代码
触发方式:零点击
| 触发途径 | 是否需要用户操作 |
|---|---|
| Outlook 预览窗格(Preview Pane)中查看邮件 | ❌ 无需任何操作 |
| Outlook 中双击打开邮件 | ❌ 无需额外操作 |
| Word 中直接打开恶意文档 | ❌ 只需要用户打开文件 |
| 下载附件后手动打开 | ⚠️ 需用户交互 |
最危险的攻击面: 攻击者只需发送一封邮件,收件人在 Outlook 中查看邮件列表时,预览窗格自动渲染即触发漏洞——无需点击、无需下载、无需打开任何附件。
与 CVE-2015-6172(BadWinmail)的关联
Haifei Li 在 2015 年发现了著名的 "BadWinmail" 漏洞,同样是通过 Outlook 邮件触发的远程代码执行。CVE-2026-40361 使用了非常相似的攻击向量,被描述为"企业杀手"(enterprise killer),因为:
- 可绕过防火墙(通过邮件进入)
- 可定向攻击高管(CEO、CFO 等)
- 攻击者无需事先获取网络访问权限
影响范围
| 产品 | 版本 |
|---|---|
| Microsoft 365 Apps for Enterprise | 修复前所有版本 |
| Office 2019 | 全部 |
| Office LTSC 2021 | 全部 |
| Office LTSC 2024 | 全部 |
| Word 2016 | 全部 |
| Outlook 配合 Exchange Server | 风险最高(企业环境) |
关键提示: 仅安装 Windows 更新不能修复此漏洞,必须单独安装 Office 更新。
修复版本
| 产品 | 修复版本 |
|---|---|
| Word for Microsoft 365 | 16.0.10417.20128+ |
| Office LTSC 2024 | 查看 KB 对应更新 |
| Office LTSC 2021 | 查看 KB 对应更新 |
| Office 2019 | 查看 KB 对应更新 |
缓解措施
方案一:安装 Office 更新(强烈推荐)
# 手动触发 Office 更新
# 打开任意 Office 应用 → 文件 → 账户 → 更新选项 → 立即更新
# 或通过命令行更新(如果使用 Click-To-Run)
cd "C:\Program Files\Common Files\Microsoft Shared\ClickToRun"
officec2rclient.exe /update user
方案二:临时缓解(无法立即打补丁时)
将 Outlook 设置为以纯文本格式读取所有邮件:
# 通过注册表强制 Outlook 使用纯文本
New-Item -Path "HKCU:\Software\Microsoft\Office\16.0\Outlook\Options\Mail" -Force
Set-ItemProperty -Path "HKCU:\Software\Microsoft\Office\16.0\Outlook\Options\Mail" `
-Name "ReadAsPlain" -Value 1 -Type DWord
或在 Outlook GUI 中设置:
- 文件 → 选项 → 信任中心 → 信任中心设置 → 电子邮件安全
- 勾选"以纯文本格式读取所有标准邮件"
- 勾选"以纯文本格式读取所有数字签名邮件"
方案三:GPO 批量配置
<!-- 通过组策略部署纯文本设置 -->
计算机配置 → 管理模板 → Microsoft Outlook 2016 → Outlook 选项 → 首选项 → 电子邮件选项
→ "以纯文本格式读取电子邮件" → 启用
检测方法
检查 Office 版本
# PowerShell:检查 Word 版本
Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Office\ClickToRun\Configuration" `
| Select-Object -ExpandProperty "ClientVersionToReport"
# 或直接打开 Word → 文件 → 账户 → 关于 Word
# 确认版本 ≥ 16.0.10417.20128
检查是否已安装补丁
# 查看已安装的 Office 更新
Get-WmiObject -Class Win32_QuickFixEngineering | Where-Object { $_.HotFixID -like "*KB500*" }
同批次其他 Office 漏洞
2026 年 5 月补丁星期二中还修复了以下 Office 相关漏洞:
| CVE | 类型 | CVSS | 描述 |
|---|---|---|---|
| CVE-2026-40364 | Type Confusion(Word) | 8.4 | 同样可通过预览窗格触发的 RCE |
| CVE-2026-40366 | Use-After-Free(Word) | — | Word RCE |
| CVE-2026-40367 | Untrusted Pointer Dereference(Word) | — | Word RCE |
| CVE-2026-40358 | Use-After-Free(Office) | — | Office RCE(本地) |
| CVE-2026-40363 | 堆缓冲区溢出(Office) | — | Office RCE(本地) |
| CVE-2026-40420 | 不恰当的访问控制 | 8.8 | Click-To-Run 提权 |
| CVE-2026-40419 | Use-After-Free | 7.8 | Office 提权 |
| CVE-2026-40418 | Use-After-Free | 7.8 | Click-To-Run 提权 |
时间线
| 日期 | 事件 |
|---|---|
| ~2015 年 | 漏洞代码引入(与 BadWinmail 同期) |
| 2026-05-12 | 微软 5 月补丁星期二修复该漏洞 |
| 2026-05-12 | Haifei Li 公开漏洞细节 |
| 2026-05-12 | 多个安全厂商发布预警 |
参考资料
💬 评论