0x00:简介
内存损坏notepad++之前所有x64版本7.7在闪烁组件(SciLexer.dll)。通过特殊脆弱性引发精心.ml文件。漏洞发生在Unicode字符的处理。例如以下用记事本+ + v 7.6.6:。这是最新的版本之前修复的影响
0x01:过程
poc.ml – file for demonstrating triggering of vulnerability;
这个文件包含下一个字节:
\xef\xbb\xbf\xf1\x94\xbe\xbe
notepad++打开这个文件;
结果:
这个异常的分析和poc之后。ml里我们可以看到,我们有控制寄存器rbx的一部分,rcx。我们可以看到,rbx参加指针值的形成
movzx eax, word ptr[rax+rbx*2]
:
演示控制的价值观我修改当前的概念和创建新的PoC (aaaaa.ml)
aaaaa.ml 申请触发漏洞,覆盖的部分值寄存器rbx, rcx 0 xaaaaa。
aaaaa.ml 包含以下字节:
\xe2\xbf\x88\xf2\xaa\xaa\xaa
经过测试这个POC证明我们有结果:
意味着我们有控制的寄存器rbx值的一部分,rcx,它可能导致远程代码执行。
This vulnerability was fixed in notepad++ 7.7
0x02:预防
1、目前口官方的最新版本是7.7.1.建议更新至最新版本。
文章翻译于:https://0day.life/exploits/0day-940.html