CVE-2020-25291:金山WPS Office远程堆溢出漏洞分析
0x01 漏洞描述
WPSOffice是适用于Microsoftwindows,macOS,Linux,iOS和Android的办公软件,由总部位于珠海的中国软件开发商金山软件公司开发。WPSOffice由三个主要组件组成:WPSWriter,WPS Presentation和WPSSpreadsheet。个人基本版本可以免费使用,WPSOffice软件中存在一个远程执行代码漏洞,是当Office软件在分析特制Office文件时不正确地处理内存中的对象时引起的。成功利用此漏洞的攻击者可以在当前用户的上下文中运行任意代码。漏洞可能会导致拒绝服务,易受攻击的产品WPSOffice,影响版本11.2.0.9453。
0x02 漏洞分析
在WPSOffice中用于图像格式解析的Qt模块中发现存在堆溢出。嵌入WPSoffice的特制图像文件可能会触发此漏洞。打开特制的文档文件时,触发访问冲突。EDX指向数组的指针,而EAX是指向数组的索引。
崩溃是如何触发的?让我们看一下PNG标头格式。
从偏移量0x29E31开始-0x29E34是PNG文件格式的签名标头。PNG头文件的结构:
在这种情况下,当WPSOfficeSuite中使用的QtCore库解析PLTE结构并触发堆溢出时,该漏洞位于Word文档中的嵌入式PNG文件中。在偏移量0x29E82到0x29E85处,调色板的解析失败,从而触发了堆中的内存损坏。崩溃触发之前的堆栈跟踪:
在QtCore4解析嵌入式图像之前,我们可以看到来自KSO模块的最后一次调用,试图处理图像kso!GdiDrawHoriLineIAlt。使用IDAPro分解应用程序来分析发生异常的函数。最后的崩溃路径如下(WinDBG结果):
在IDA Pro中打开时,我们可以按以下方式反汇编该函数:
使用crashs转储中的信息,我们知道应用程序在0x67353321(mov eax,[edx + eax * 4+10h])处触发了访问冲突。我们可以看到EAX寄存器由0xc0值控制。因此,从这里我们可以根据导致异常的指令对寄存器的状态进行一些假设。需要注意的重要一点是,在发生异常之前,我们可以看到ECX(0xc0)中包含的值被写入到以下指令所定义的任意位置:
此外,我们注意到,在我们的故障指令之外,EBP的偏移量存储在ECX寄存器中。我们在前面提到的指令(偏移量为0x6ba1331c)上设置了一个断点,以观察内存。断点触发后,我们可以看到第一个值c45adfbc指向另一个指针,该指针应该是指向数组的指针。
从c45adfbc观察内存引用,发现另一个指针。第一个值ab69cf80始终表示为指向它所引用的任何地方的指针。指针ab69cf80基本上是我们指针的索引数组。
因为我们知道崩溃的路径,所以可以使用下面的命令简单地设置一个断点。该命令将获得指针值“ edx + eax * 4 +10”,并检查其是否满足0xc0。
观察堆栈,可以看到以下执行:
如果我们反汇编6ba3cb98,则可以看到以下反汇编代码,真正的漏洞根本原因在于此代码。
我们在6ba3cb89地址上设置断点并观察ESI + 0xB4,我们可以看到一个指针指向另一个位置:
从这里我们可以知道代码实际上没有从指针释放任何东西。一旦移至EDX,EDX将保留指向索引数组的指针:
崩溃后的堆栈跟踪:
堆分析:
段中的最后一个堆条目通常是一个空闲块。堆块的状态指示为空闲块,堆块声明前一个块的大小为00108,而当前块的大小为00a30。前一块报告其自身大小为0x20字节,不匹配。位置为05f61000的堆块的使用似乎是该堆块的使用导致以下块的元数据损坏的可能性。堆块如下:
0x03 披露时间表
该漏洞于2020年8月报告,披露时间表:
- 2020-08-04-将电子邮件发送到公开提供的WPS的各种邮件列表(销售和支持)。
- 2020-08-10-WPS团队回应该报告可以转发给他们。
- 2020-08-11-要求进一步的信息,例如向适当的渠道披露等。
- 2020-08-17-根据先前的要求与WPS团队进行跟进。
- 2020-08-18-通过电子邮件提供技术报告和概念验证(未加密)。
- 2020-08-25-WPS跟进报告进度。
- 2020-08-26-WPS更新说此问题已转发给开发团队。
- 2020-08-28-WPS发送了一封电子邮件,指出该问题已在最新的下载版本11.2.0.9403中得到解决。
- 2020-08-28-针对提供的PoC测试了新版本,并确认问题已解决。
- 2020-08-28-向WPS团队寻求咨询或更改日志更新。
- 2020-09-03-申请漏洞CVE。
- 2020-09-14-已分配CVE编号:CVE-2020-25291。
推荐系统
windows11中文版镜像 微软win11正式版简体中文GHOST ISO镜像64位系统下载
语言:中文版系统大小:5.31GB系统类型:Win11windows11中文版镜像 微软win11正式版简体中文GHOST ISO镜像64位系统下载,微软win11发布快大半年了,其中做了很多次补丁和修复一些BUG,比之前的版本有一些功能上的调整,目前已经升级到最新版本的镜像系统,并且优化了自动激活,永久使用。windows11中文版镜像国内镜像下载地址微软windows11正式版镜像 介绍:1、对函数算法进行了一定程度的简化和优化
微软windows11正式版GHOST ISO镜像 win11下载 国内最新版渠道下载
语言:中文版系统大小:5.31GB系统类型:Win11微软windows11正式版GHOST ISO镜像 win11下载 国内最新版渠道下载,微软2022年正式推出了win11系统,很多人迫不及待的要体验,本站提供了最新版的微软Windows11正式版系统下载,微软windows11正式版镜像 是一款功能超级强大的装机系统,是微软方面全新推出的装机系统,这款系统可以通过pe直接的完成安装,对此系统感兴趣,想要使用的用户们就快来下载
微软windows11系统下载 微软原版 Ghost win11 X64 正式版ISO镜像文件
语言:中文版系统大小:0MB系统类型:Win11微软Ghost win11 正式版镜像文件是一款由微软方面推出的优秀全新装机系统,这款系统的新功能非常多,用户们能够在这里体验到最富有人性化的设计等,且全新的柔软界面,看起来非常的舒服~微软Ghost win11 正式版镜像文件介绍:1、与各种硬件设备兼容。 更好地完成用户安装并有效地使用。2、稳定使用蓝屏,系统不再兼容,更能享受无缝的系统服务。3、为
雨林木风Windows11专业版 Ghost Win11官方正式版 (22H2) 系统下载
语言:中文版系统大小:4.75GB系统类型:雨林木风Windows11专业版 Ghost Win11官方正式版 (22H2) 系统下载在系统方面技术积累雄厚深耕多年,打造了国内重装系统行业的雨林木风品牌,其系统口碑得到许多人认可,积累了广大的用户群体,雨林木风是一款稳定流畅的系统,一直以来都以用户为中心,是由雨林木风团队推出的Windows11国内镜像版,基于国内用户的习惯,做了系统性能的优化,采用了新的系统
雨林木风win7旗舰版系统下载 win7 32位旗舰版 GHOST 免激活镜像ISO
语言:中文版系统大小:5.91GB系统类型:Win7雨林木风win7旗舰版系统下载 win7 32位旗舰版 GHOST 免激活镜像ISO在系统方面技术积累雄厚深耕多年,加固了系统安全策略,雨林木风win7旗舰版系统在家用办公上跑分表现都是非常优秀,完美的兼容各种硬件和软件,运行环境安全可靠稳定。win7 32位旗舰装机版 v2019 05能够帮助用户们进行系统的一键安装、快速装机等,系统中的内容全面,能够为广大用户
番茄花园Ghost Win7 x64 SP1稳定装机版2022年7月(64位) 高速下载
语言:中文版系统大小:3.91GB系统类型:Win7欢迎使用 番茄花园 Ghost Win7 x64 SP1 2022.07 极速装机版 专业装机版具有更安全、更稳定、更人性化等特点。集成最常用的装机软件,集成最全面的硬件驱动,精心挑选的系统维护工具,加上独有人性化的设计。是电脑城、个人、公司快速装机之首选!拥有此系统
番茄花园 Windows 10 极速企业版 版本1903 2022年7月(32位) ISO镜像快速下载
语言:中文版系统大小:3.98GB系统类型:Win10番茄花园 Windows 10 32位极速企业版 v2022年7月 一、系统主要特点: 使用微软Win10正式发布的企业TLSB版制作; 安装过程全自动无人值守,无需输入序列号,全自动设置; 安装完成后使用Administrator账户直接登录系统,无需手动设置账号。 安装过程中自动激活
新萝卜家园电脑城专用系统 Windows10 x86 企业版 版本1507 2022年7月(32位) ISO镜像高速下载
语言:中文版系统大小:3.98GB系统类型:Win10新萝卜家园电脑城专用系统 Windows10 x86企业版 2022年7月 一、系统主要特点: 使用微软Win10正式发布的企业TLSB版制作; 安装过程全自动无人值守,无需输入序列号,全自动设置; 安装完成后使用Administrator账户直接登录系统,无需手动设置账号。 安装过程
相关文章
- 黑客攻击导致意大利拉齐奥地区的COVID-19接种预约系统被关闭
- Azure漏洞允许攻击者升级权限
- 环境变量在Hacking中的应用
- 2020年企业安全:如何防范网络攻击者
- 微软希望客户对近期频繁发生的国家级网络攻击事件保持高度警惕
- 360入局人脸识别,破解“安全”障碍该怎么做?
- 深度剖析站点隔离机制,Part 2(上)
- 安全服务公司 Mimecast 确认 SolarWinds 黑客窃取了公司内部多个项目源代码
- 在黑客攻击频发的当今,如何保护自己免受黑客脚本的潜在威胁?
- U盘无法安全卸载怎么办 U盘无法安全卸载解决方法
- 2021年十大端点安全趋势
- 电脑怎么检查硬件故障 判断电脑故障看这个就够!
- 多达61%公司在2020年遭受勒索软件冲击
- 在线网速测试怎么测?
热门系统
- 1华硕笔记本&台式机专用系统 GhostWin7 32位正式旗舰版2018年8月(32位)ISO镜像下载
- 2深度技术 Windows 10 x86 企业版 电脑城装机版2018年10月(32位) ISO镜像免费下载
- 3电脑公司 装机专用系统Windows10 x86喜迎国庆 企业版2020年10月(32位) ISO镜像快速下载
- 4雨林木风 Ghost Win7 SP1 装机版 2020年4月(32位) 提供下载
- 5深度技术 Windows 10 x86 企业版 六一节 电脑城装机版 版本1903 2022年6月(32位) ISO镜像免费下载
- 6深度技术 Windows 10 x64 企业版 电脑城装机版2021年1月(64位) 高速下载
- 7新萝卜家园电脑城专用系统 Windows10 x64 企业版2019年10月(64位) ISO镜像免费下载
- 8新萝卜家园 GhostWin7 SP1 最新电脑城极速装机版2018年8月(32位)ISO镜像下载
- 9电脑公司Ghost Win8.1 x32 精选纯净版2022年5月(免激活) ISO镜像高速下载
- 10新萝卜家园Ghost Win8.1 X32 最新纯净版2018年05(自动激活) ISO镜像免费下载
热门文章
- 1迅雷云播“手机看片神器”使用教程(随时随地秒速离线云播放)
- 2微信公众号怎么年审? 微信公众号年审流程及所需材料介绍
- 3Win10怎么设置网络按流量计费 Win10网络设置流量收费教程
- 4i7 6700主频是多少 i7-6700参数详解
- 5win7蓝屏代码7f指什 怎么解决 很严重
- 6aoc一体机电脑win10改win7系统及bios设置
- 7安卓手机安装运行win7系统教程 安卓手机装win7系统教程
- 8华硕b460主板装win7系统及bios设置教程 10代CPU安装Win7教程 BIOS设置 U盘启动 完美支持USB驱动
- 9高通骁龙8cx怎么样 高通骁龙8cx处理器详细介绍
- 10Steam提示“需要在线进行更新,请确认您的网络连接正常”怎么办?
常用系统
- 1笔记本&台式机专用系统 Windows10 企业版 2020年8月(64位) 提供下载
- 2番茄花园 GhostWin7 SP1 电脑城海驱极速装机版2018年7月(32位) ISO镜像免费下载
- 3电脑公司Ghost Win8.1 x32 新春特别 精选纯净版2021年2月(免激活) ISO镜像高速下载
- 4笔记本&台式机专用系统 Windows10 中秋特别 企业版 版本1903 2021年9月(32位) ISO镜像快速下载
- 5新萝卜家园Ghost Win8.1 X64位 纯净版2022年4月(自动激活) ISO镜像高费下载
- 6雨林木风 Ghost Win7 SP1 六一节 装机版 2020年6月(32位) 提供下载
- 7深度技术Ghost Win8.1 x32位 特别纯净版2019年1月(免激活) ISO镜像快速下载
- 8新萝卜家园Ghost Win8.1 X64位 纯净版2020年10月(自动激活) ISO镜像高费下载
- 9深度技术 GHOSTXPSP3 电脑城极速装机版 2020年3月 ISO镜像高速下载
- 10番茄花园 Ghost XP SP3 海量驱动装机版 2020年7月 ISO镜像高速下载