这份报告基于 NCC Group 旗下的 Fox-IT 与 Exploit Development Group 团队发布的技术深度分析论文(Public Version 1.0),由研究员 Emily Liu 完成。报告对 CVE-2026-21236 进行了完整的拆解,涵盖了补丁差异分析、动态调试、漏洞根因定位,并提供了可触发蓝屏死机(BSOD)的概念验证(PoC)代码。
漏洞基本信息
此漏洞的公开信息与 CVE 记录一致:
- 类型:堆缓冲区溢出(Heap-based buffer overflow,CWE-122)
- 组件:Windows 内核驱动
AFD.sys(Ancillary Function Driver for WinSock,负责 Winsock API 的内核侧实现)
- 触发路径:SAN(System Area Network / RDMA 相关,旧的 Windows Sockets Direct 机制,为向后兼容保留)
- 影响:本地已认证用户(普通权限)可溢出内核堆内存,理论上可用于本地权限提升(EoP)至 SYSTEM。微软评级为 Important,CVSS 评分约为 7.8。
- 补丁时间:Microsoft 于 2026 年 2 月 11 日发布补丁。
- 受影响环境:主要在 Windows Server 2022 等支持 SAN 的版本;客户端 Windows 10/11 虽存在相关代码,但默认难以轻松触发(需特定条件)。
报告重点内容摘要
1. 引言
报告首先介绍了其背景:这是内部“漏洞利用开发轮岗”项目的成果。它详细解释了 AFD.sys 的作用——用户态的 Winsock 调用通过特定的 IOCTL 进入内核,由 AFD.sys 处理,用户输入在此过程中被直接解析,因此极易受到攻击。同时,报告也介绍了 SAN(高性能集群网络)机制,它由 AFD.sys 负责协调,虽然微软早已弃用 Windows Sockets Direct,但为兼容性保留了大量旧代码路径。本次分析环境为 Windows Server 2022。
2. 技术分析
这是报告最核心的部分,分为三个环节。
2.1 补丁差异分析
研究人员对比了多个 AFD.sys 版本,发现修改主要集中在 AfdSanConnectHandler 和 AfdSuperAccept 等函数上。关键漏洞点位于 AfdSanConnectHandler 中的一个 memmove / memcpy 操作:
- 未修补版:直接将用户可控的源数据拷贝到目标缓冲区,缺乏边界检查。
- 修补版:在拷贝操作前新增了多处长度检查,防止溢出。
下图清晰地展示了补丁前后代码的变化:

2.2 动态分析
为了验证分析,研究人员使用 Python 脚本直接通过 NtDeviceIoControlFile 调用相关的 AFD IOCTL(例如绑定地址的 0x12003 和触发漏洞的 0x120E2)。步骤包括创建 endpoint、绑定地址,最终触发 AfdSanConnectHandler。报告中附有详细的代码和 Windbg 调试截图,清晰地展示了如何命中目标函数。
2.3 漏洞根因分析
漏洞成因是 AfdSuperAccept 和 AfdSanConnectHandler 两个函数的协作出现了问题。AfdSuperAccept 根据用户提供的字段分配固定大小的内核缓冲区,并进行了一定的合理性检查,但这些检查并不完善。而 AfdSanConnectHandler 则根据用户输入的另一个长度值,将数据直接拷贝到 AfdSuperAccept 分配的缓冲区中。核心问题在于:拷贝的大小由用户输入决定,而缓冲区大小由另一处逻辑决定,两者之间没有进行有效的同步校验,这就导致了“分配小、拷贝大”的堆缓冲区溢出。
3. 概念验证
报告的第三部分非常实用,详细讲解了如何构造一个完整的 PoC 来触发漏洞并导致系统蓝屏。主要步骤包括:
- 创建普通的 socket handle 和 SAN handle。
- 将
AfdSuperAccept 设置为监听器,并分配一个较小的缓冲区(例如 0x1000 字节)。
- 在
AfdSanConnectHandler 的输入缓冲中构造一个超大的 payload(例如 0x2000 字节以上),用以区分正常填充和溢出部分。
- 精心设置相关的结构体字段,如
ta_size、AddressLength 等。
执行 PoC 后,成功触发了内核堆溢出并导致 BSOD。通过 Windbg 调试可以观察到内存状态,dump 出的内存清晰地显示 0x1000 字节的正常填充后被溢出的数据覆盖,直接证明了越界写入的发生。此部分内容为进行深入的安全研究和漏洞攻击提供了清晰的路径。
4. 结论
报告总结认为,这是一个相对直观但危险的漏洞,根本原因在于用户可控的分配大小与拷贝大小未能有效同步。它位于老旧且小众的 SAN 代码路径中,帮助研究人员深入理解了 AFD.sys 的内部工作机制,为后续开发完整的本地权限提升利用程序铺平了道路。
5. 附录:AI辅助补丁分析
报告的最后还进行了一项有趣的实验:使用 Copilot/GPT-5 等 AI 工具来分析补丁差异。在提供简单的提示词和补丁前后代码后,AI 不仅准确指出了漏洞位置,甚至还发现了本次补丁修复的其他潜在问题。这证明了 AI 在二进制补丁分析中能够显著提升效率,尤其适合自动化流水线,但其结论仍需人工进行最终验证。
原始报告地址
完整的英文技术分析报告地址为:https://www.nccgroup.com/research/vulnerability-analysis-of-cve-2026-21236/
对于对内核安全、驱动漏洞感兴趣的开发者而言,深入理解此类漏洞的成因和利用方式,是提升安全防御能力的关键。这不仅能帮助识别自身系统中的潜在风险,也是迈向高级渗透测试与逆向工程领域的宝贵阶梯。欢迎在云栈社区的网络与系统或安全板块继续交流探讨。
|