【已复现】CVSS9.8WindowsDNS栈溢出漏洞(CVE-2026-62878)细节分析"

admin 2026-10-18 04:36:46 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

cover_image

【已复现】CVSS 9.8 Windows DNS 栈溢出漏洞(CVE-2026-62878)细节分析

原创

360漏洞研究院
360漏洞研究院

360漏洞研究院

2026年8月17日 16:11
四川

在小说阅读器读本章

去阅读

Windows DNS Server 曝出严重栈缓冲区溢出漏洞(CVE-2026-62878,CVSS 9.8)。未经身份验证的远程攻击者只需向目标 DNS 服务器发送特制数据包,即可触发栈溢出,实现远程代码执行。

利用前置条件:

  • 攻击者能够通过网络访问目标 Windows DNS 服务

目前 360漏洞挖掘智能体已成功复现该漏洞。本文包含完整影响范围、修复方案、技术原理与复现细节,建议用户立即升级。

漏洞概述
漏洞名称 Windows DNS 服务器远程代码执行漏洞
漏洞编号 CVE-2026-62878
公开时间 2026-08-11 POC状态 未公开
漏洞类型 栈溢出 EXP状态 未公开
利用可能性 低 技术细节状态 未公开
CVSS 3.1 9.8 在野利用状态 未发现

01

漏洞影响范围

已确认受影响版本:

Windows Server 2012 R2 < 6.3.9600.23338

Windows Server 2012 < 6.2.9200.26280

Windows Server 2016 < 10.0.14393.9418

Windows 10 Version 1607 < 10.0.14393.9418

Windows Server 2019 < 10.0.17763.9121

Windows 10 Version 1809 < 10.0.17763.9121

以下产品同时支持常规安全更新和 Hotpatch:

Windows Server 2025:常规修复版本 10.0.26100.33296,Hotpatch 修复版本 10.0.26100.33222

Windows Server 2022:常规修复版本 10.0.20348.5499,Hotpatch 修复版本 10.0.20348.5440

上述范围包括 Microsoft 公告列出的 x64、ARM64、32 位及 Server Core 平台。对于支持 Hotpatch 的系统,应以对应安全更新是否已经安装作为漏洞修复判断依据。

02

修复建议

正式防护方案

方法一.使用Windows Update更新

自动更新:

Microsoft Update默认启用,当系统检测到可用更新时,将会自动下载更新并在下一次启动时安装。

手动更新:

1、点击“开始菜单”或按Windows快捷键,点击进入“设置”。

2、选择“更新和安全”,进入“Windows更新”。

3、选择“检查更新”,等待系统将自动检查并下载可用更新。

4、重启计算机,安装更新系统重新启动后,可通过进入“Windows更新”->“查看更新历史记录”查看是否成功安装了更新。对于没有成功安装的更新,可以点击该更新名称进入微软官方更新描述链接,点击最新的SSU名称并在新链接中点击“Microsoft 更新目录”,然后在新链接中选择适用于目标系统的补丁进行下载并安装。

方法二. 手动安装补丁

Microsoft官方下载相应补丁进行更新。

安全更新下载链接:https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-62878

1.点击打开上述链接。

2.在微软公告页面底部左侧【产品】选择相应的系统类型,点击右侧【下载】处打开补丁下载链接。

3.点击【安全更新】,打开补丁下载页面,下载相应补丁并进行安装。

4.安装完成后重启计算机。

03

漏洞描述

3.1 漏洞简述

Windows DNS Server 的 dns.exe 维护区域、缓存与策略所使用的名称树(NTree)。当一个节点下的兄弟节点较多时,NTree 可将同一桶转换为下一层哈希表;哈希层深度使用标签中后续字节继续区分节点。

本问题位于这种“桶转下一层哈希”的重建流程中,问题的根因是目标函数在栈上使用固定的 500 指针数组,却调用一个没有容量参数的遍历复制函数。若遍历到 500 个节点,节点指针已填满数组,随后写入结束 NULL 会落到数组外。

3.2 详细分析

与该漏洞相关的标志位是NameCheckFlag,是Windows DNS Server 协议里的一个 DWORD 配置值,用于控制 DNS 服务器对 FQDN(完全限定域名)字符语法检查的严格程度,NameCheckFlag的现代取值为:0 严格 RFC ANSI、1 非 RFC 可打印 ANSI、2 UTF-8(默认)、3 所有字符。漏洞需要设置为 NameCheckFlag=3。

3.2.1 策略允许后,NTree 按显式长度接收标签

NTree\_FindOrCreateChildNodeEx 把网络解析阶段保存的 Src 与 Size 直接交给 Dns\_DowncaseNameLabel。后者不是 strlen 风格循环,而是按 Size 逐字节复制;所以标签载荷中的 NUL 不会让复制提前结束。真正的拒绝条件是字符策略:当非法字符标记存在且 mode != 3 时返回失败。

// NTree_FindOrCreateChildNodeEx,语义化伪代码mode = is_primary_zone(zone) ? NameCheckFlag : 3;canon_len = Dns_DowncaseNameLabel(canonical, Src, Size, mode);if (canon_len == -1) {   SetLastError(ERROR_INVALID_NAME);     // 123return NULL;}//Dns_DowncaseNameLabelfor (i = 0; i < Size; ++i) {             // 显式长度,而非遇 NUL 停止   canonical[i] = Src[i];if (invalid_character(Src[i]))       flags |= INVALID;}if ((flags & INVALID) && mode != 3)return -1;

因此默认名称检查会在节点创建前阻断该类标签;NameCheckFlag=3 会改变这个策略结果,并不修复后续 NTree 数据结构缺陷。

3.2.2. 节点比较能区分,而哈希分桶不能区分

节点插入时,NTree\_FindOrCreateChildNodeEx 先基于规范化标签的前四字节产生 quick-compare 值,再由 walkBinaryTree 用 quick 值和显式标签长度定位节点。实验标签在前四字节中保留差异,因而可以成为不同节点。

// walkBinaryTree 的关键比较顺序if (input_quick < node->quick) go_left();if (input_quick > node->quick) go_right();diff = input_len - node->label_length;if (input_len > 4 && node->label_length > 4)   diff = strncmp(input_canonical, node->canonical_label, input_len);if (diff == 0)   return node;

但重哈希时,NTree\_HashTableIndexEx 的行为不同:它从 canonical 副本中读取字符;一旦读到 NUL,立即返回桶 0,并没有使用保存的标签长度继续读取。

// NTree_HashTableIndexEx 的关键逻辑for (i = 0; ; ++p) {   ch = *p;   if (ch == 0)       return 0;                        // 所有首字节 NUL 的标签均进入桶 0   if (++i > hash->depth)       return ch;}

这就是语义不一致:同一份逻辑标签在“是否为不同树节点”上使用显式长度/quick 值,在“进入哪个 hash 桶”上却使用 NUL 终止语义。

3.2.3. 同桶累积触发重复重哈希

每次新节点插入后,普通兄弟树超过阈值会创建哈希节点;若已经处于哈希节点,则 NTree\_AddNodeInHashBucket 对对应桶计数加一,到达阈值后再次调用 NTree\_CreateHashAtNode。目标版在这个调用点没有观察到与深度相关的停止条件。

bucket = NTree_HashTableIndexEx(new_node, NULL, hash->depth);count = ++hash->bucket_count[bucket];if (count >= 0x40)   NTree_CreateHashAtNode(hash->bucket[bucket])

因为第二步使这些节点反复落入桶 0,每一层哈希都无法把它们真正分散开,从而持续满足下一次重哈希的条件。

3.2.4. 重哈希把无上限遍历写入固定栈数组

NTree\_CreateHashAtNode 在栈上分配 500 个指针,但没有把容量传给 btreeReadToArray;后者只知道输出首地址。500 个节点并不是安全上限,因为还需要一个结束项。

// NTree_CreateHashAtNodeNode *items[500];btreeReadToArray(root, items);// btreeReadToArrayi = 0;do {   out[i++] = node;                     // 无 i < 500 检查   node = NTree_NextSibling(node);} while (node != NULL);out[i] = NULL;                           // 第 500 节点时写 out[500]

遍历到 500 个节点,节点指针已填满数组,随后写入结束 NULL 会落到数组外

04

漏洞复现

360漏洞研究院已成功复现 Windows DNS 服务器远程代码执行漏洞(CVE-2026-62878),向目标 Windows DNS 服务器端口发送请求,成功触发栈缓冲区溢出。

已关注

关注

重播 分享 赞

关闭

观看更多

更多

退出全屏

切换到竖屏全屏退出全屏

360漏洞研究院已关注

分享视频

,时长00:19

0/0

00:00/00:19

切换到横屏模式

继续播放

[ ]

进度条,百分之0

播放

00:00

/

00:19

00:19

倍速

全屏

倍速播放中

0.5倍0.75倍1.0倍1.5倍2.0倍

超清流畅

 您的浏览器不支持 video 标签

继续观看

【已复现】CVSS 9.8 Windows DNS 栈溢出漏洞(CVE-2026-62878)细节分析

观看更多

原创

,

【已复现】CVSS 9.8 Windows DNS 栈溢出漏洞(CVE-2026-62878)细节分析

360漏洞研究院已关注

分享点赞在看

已同步到看一看写下你的评论

视频详情

CVE-2026-62878

Windows DNS 服务器远程代码执行漏洞复现

05

时间线

2026年8月17日,360漏洞研究院发布本安全风险通告。

06

参考链接

https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-62878

07

更多漏洞情报

“扫描下方二维码,进入公众号粉丝交流群。更多一手网安资讯、漏洞预警、技术干货和技术交流等您参与!”

建议您订阅360数字安全-漏洞情报服务,获取更多漏洞情报详情以及处置建议,让您的企业远离漏洞威胁。

邮箱:[email protected]

网址:https://vi.loudongyun.360.net

“洞”悉网络威胁,守护数字安全

关于我们

360 漏洞研究院,隶属于360数字安全集团。其成员常年入选谷歌、微软、华为等厂商的安全精英排行榜, 并获得谷歌、微软、苹果史上最高漏洞奖励。研究院是中国首个荣膺Pwnie Awards“史诗级成就奖”,并获得多个Pwnie Awards提名的组织。累计发现并协助修复谷歌、苹果、微软、华为、高通等全球顶级厂商CVE漏洞3000多个,收获诸多官方公开致谢。研究院也屡次受邀在BlackHat,Usenix Security,Defcon等极具影响力的工业安全峰会和顶级学术会议上分享研究成果,并多次斩获信创挑战赛、天府杯等顶级黑客大赛总冠军和单项冠军。研究院将凭借其在漏洞挖掘和安全攻防方面的强大技术实力,帮助各大企业厂商不断完善系统安全,为数字安全保驾护航,筑造数字时代的安全堡垒。


【已复现】CVSS9.8WindowsDNS栈溢出漏洞(CVE-2026-62878)细节分析" 网络安全文章

【已复现】CVSS9.8WindowsDNS栈溢出漏洞(CVE-2026-62878)细节分析"

360漏洞研究院披露WindowsDNSServer栈溢出漏洞CVE-2026-62878,CVSS评分9.8。未经身份验证的远程攻击者可发送特制数据包触发远程代码执行。根因在于NTree重哈希时使用固定500指针栈数组且无容量检查,当遍历到500个节点时写入结束NULL导致越界。影响多个WindowsServer版本,建议立即通过WindowsUpdate或手动安装补丁修复。
集成资产测绘、漏洞检测、云安全、AI自动化渗透、MCP工具等50余项全链路能力-密探渗透测试工具v2.0" 网络安全文章

集成资产测绘、漏洞检测、云安全、AI自动化渗透、MCP工具等50余项全链路能力-密探渗透测试工具v2.0"

密探渗透测试工具v2.0是一款集成资产测绘、漏洞检测、云安全、AI自动化渗透及MCP工具等50余项能力的项目级安全检测与运维工具。其特色功能包括项目管理、聚合测绘引擎、断点续扫、heapdump敏感信息分析、小程序反编译及39个MCP工具赋能Agent。文档末尾包含大量付费推广内容如纷传圈子、知识库及漏洞库等,整体偏向软文推广。
快更新修复,龙芯处理器存在架构层面漏洞" 网络安全文章

快更新修复,龙芯处理器存在架构层面漏洞"

德国研究人员发现龙芯处理器存在名为LoongLeak的架构级缓存数据泄露漏洞。该漏洞源于LoongArch指令集缺陷,允许攻击者跨虚拟机边界窃取宿主机数据。利用此漏洞可在数秒内提取全盘AES密钥和root密码哈希,并绕过ASLR等传统防御机制。由于该漏洞无法通过软件手段缓解,建议受影响用户尽快更新至已修复缺陷的3A6000处理器以消除安全风险。
HackTheBox-Trustfall_Cve-2026-22200" 网络安全文章

HackTheBox-Trustfall_Cve-2026-22200"

CVE-2026-22200是osTicket工单系统的PHPFilterChain注入漏洞,允许匿名用户通过富文本字段实现任意文件读取,并可结合CVE-2024-2961升级为远程代码执行。攻击链利用mPDF的CSS处理特性,通过php://filter链生成BMP文件头外带文件内容。防御方应升级至v1.18.3或v1.17.7,并监控异常PDF导出请求。
评论:0   参与:  0