Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2022-31901 — CVE-2022-31901 的概念验证:Notepad++ (x86) <=8.4.9 中的拒绝服务漏洞,通过特制文本文件触发,包含根因分析和 Visual Studio 转储调试。 | Kitploit
工具/GitHubGitHub/cdacesec/cve-2022-31901
漏洞分析漏洞利用调试器二进制分析
GitHubcdacesec/cve-2022-31901

CVE-2022-31901

CVE-2022-31901 的概念验证:Notepad++ (x86) <=8.4.9 中的拒绝服务漏洞,通过特制文本文件触发,包含根因分析和 Visual Studio 转储调试。

查看仓库
3年前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2022-31901

  • 拒绝服务(DOS)漏洞,影响 Notepad++(x86) 版本 8.4.3 及之前版本。

描述

  • 通过打开两个特制的文本文件(例如 first.txt 和 second.txt)作为 Notepad++ 的输入来触发漏洞。

以下示例展示,截至 2022年7月11日,最新版本的 Notepad++(x86) 为 8.4.3。 记事本

概念验证 -

  • 以任意顺序在 Notepad++ 中打开两个示例输入文件 first.txt 和 second.txt。

结果:

记事本崩溃

Visual Studio 2019 转储分析

记事本崩溃

这里可以看到解析这些文件的问题位于 ScintallComponent -> Editor.h -> 第690行。

根本原因分析

  • 当 Notepad++ 打开任何文件时,它会调用一个函数 notepad_plus::addHotSpot,该函数使用 new 运算符创建堆内存,并将返回地址存储在 widetext 变量中 TCHAR *wideText = new TCHAR[endPos - startPos + 1];。由于要求大分配,new 返回 bad_alloc,该异常在 Notepad++ 中未得到处理,导致拒绝服务。

  • 因此可以说,使用 Notepad++(x86) <= 8.4.3 打开这两个示例文件会导致拒绝服务。

测试版本

该漏洞经验证存在于以下版本:

  • Notepad++ 8.3.2 32-bit
  • Notepad++ 8.3.3 32-bit.
  • Notepad++ 8.4.0 32-bit.
  • Notepad++ 8.4.1 32-bit.
  • Notepad++ 8.4.2 32-bit.
  • Notepad++ 8.4.3 32-bit.

测试环境

  • Windows 11 - 22563.1000 64 位
  • Windows 10 - 10.0.19042.1586 64 位
  • Windows 10 - 10.0.19044.1706 64 位

更新

  • 截至2023年1月5日,此问题仍然存在于 Notepad++ 版本 8.4.8(32位)及之前版本。
  • 截至2023年2月1日,此问题仍然存在于 Notepad++ 版本 8.4.9(32位)及之前版本。
下载工具