最新病毒库日期:
  • 威胁预警:隐藏17年的Office远程代码执行漏洞影响现有版本
2017-11-22 16:50 来源:未知
【文章摘要】2017年11月14日,微软发布了11月的安全补丁更新,修补了一个隐藏了17年的office漏洞CVE-2017-11882。
2017年11月14日,微软发布了11月的安全补丁更新,修补了一个隐藏了17年的office漏洞CVE-2017-11882,此漏洞是由于office公式编辑器组件EQNEDT32.EXE,对字体名的长度没有进行长度检验,导致的内存破坏漏洞,攻击者可以利用这个漏洞以当前登录的用户的身份执行任意命令。江民病毒监测中心发布预警公告提醒用户采取应对措施。
 
江民病毒监测中心研究发现,该漏洞确实存在,该组件于2001年编译嵌入Office之后就没有任何进一步的修改,所以该漏洞已存在17年之久,且影响当前流行的所有Office版本。受攻击用户打开恶意的Office文档时,无需交互,就可能执行恶意代码从而导致电脑被控制。

漏洞介绍

威胁类型:远程代码执行
威胁等级:高
漏洞名称:CVE-2017-11882
受影响系统及应用版本:
Microsoft Office 2007  Service Pack 3
Microsoft Office 2010  Service Pack 2 (32-bit editions)
Microsoft Office 2010  Service Pack 2 (64-bit editions)
Microsoft Office 2013  Service Pack 1 (32-bit editions)
Microsoft Office 2013  Service Pack 1 (64-bit editions)
Microsoft Office 2016  (32-bit edition)
Microsoft Office 2016  (64-bit edition)
 
补丁下载地址:
https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2017-11882

漏洞分析

EQNEDT32.EXE是用于在Office文档中插入和编辑数学公式的可执行程序。该组件在OLE技术规范下设计开发,但现在看来,由于显示和编辑公式的方法发生了变化导致EQNEDT32.EXE变得过时。
图1 漏洞程序版本信息
漏洞出现在EQNEDT32.EXE中,该模块为公式编辑器,在Office的安装过程中被默认安装。该模块以OLE技术(Object Linking and Embedding,对象链接于嵌入)将公式嵌入在Office文档中,当插入和编辑数学公式时,EQNEDT32.EXE并不会被作为Office进程,而是以单独的进程形式存在,这就意味着对于WINWORD.EXE,EXCEL.EXE等进程的保护机制无法阻止EQNEDT32.EXE进程被利用。
图2样本构造的数据
此次OLE对象的类型为"Equation.3", 即公式编辑器3.0对象,该公式对象使用CFB格式进行存储。公式的内容使用了MTEF v.3的二进制格式进行存储,该格式为:
struct EQNLEFILEHDR {
    WORD    cbHdr;   // 格式头长度,固定为0x1C
    DWORD   version; // 固定为0x00020000
    WORD    cf; // 该公式对象的剪贴板格式
    DWORD   cbObject;  // MTEF数据的长度,不包括头部
    DWORD   reserved1;  // 未公开
    DWORD   reserved2;  // 未公开
    DWORD   reserved3;  // 未公开
    DWORD   reserved4;  // 未公开
}
在漏洞利用文档中,该结构如下所示:
图3 EQNLEFILEHDR头结构数据
紧接该公式头结构的数据为公式数据,公式数据使用字节流进行存储。
图4 公式数据头结构
该头信息的结构:
最终触发漏洞的现场:
图5 漏洞触发汇编代码
图6 漏洞还原的c代码
 

处理方案:

一、及时更新补丁
补丁下载地址:
https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2017-11882
二、通过注册表禁用此模块,可通过修改注册表,禁用以下COM控件的方式进行缓解,其中XX.X为版本号:
在运行中输入:
reg add "HKLM\SOFTWARE\Microsoft\Office\XX.X\Common\COM Compatibility\{0002CE02-0000- 0000-C000-000000000046}" /v "Compatibility Flags" /t REG_DWORD /d 0x400
reg add "HKLM\SOFTWARE\Wow6432Node\Microsoft\Office\XX.X\Common\COM Compatibility\{0002CE02-0000-0000-C000-000000000046}" /v "Compatibility Flags" /t REG_DWORD /d 0x400
建议优先采用打补丁的方式。
此程序年代过于久远,微软可能并没有源码,此次更新是通过二进制补丁的方式修复的,由于此程序没有各种漏洞缓解措施,可能面临一些潜在风险。
三、部署江民网络版防病毒的用户,建议用户尽升级至最新版本并开启防御,江民防病毒软件补丁库已加入了(CVE-2017-11882)漏洞。