IT学习网 - 爱学习 - 最具影响力综合资讯网站 -- 中国IT界的领航者!
热门关键字:      88888  as  xxx
站外
广告
站外
广告

CVE-2016-4203分析:Adobe Acrobat和Reader 的CoolType处理导致的堆溢出漏洞

发布时间:2016-07-22 16:33文章来源:网络整理文章作者: 学习网点击次数:
最近,Adobe公司修复了Adobe Acrobat和Reader中的一些安全漏洞。其中一个是我们近期发现的堆缓冲区溢出漏洞(CVE - 2016 - 4203)。本博客中,我们想分享一些我们对这个漏洞的分析。

http://p4.qhimg.com/t017d61bc1d77d84720.png 

综述

最近,Adobe公司修复了Adobe Acrobat和Reader中的一些安全漏洞。其中一个是我们近期发现的堆缓冲区溢出漏洞(CVE - 2016 - 4203)。本博客中,我们想分享一些我们对这个漏洞的分析


概念验证

可以通过用Adobe Reader DC打开PoC文件“poc_minimized.pdf”的方式来重现这个漏洞。当打开该文件时,AcroRd32.exe就会崩溃,崩溃信息如下所示:

(8de0.6bc4): Access violation - code c0000005 (first chance)
First chance exceptions are reported before any exception handling.
This exception may be expected and handled.
eax=097eeeed ebx=00000015 ecx=097ef6e0 edx=0000cc6c esi=2952d000 edi=00000024
eip=0959a23c esp=2911e5f8 ebp=2911e608 iopl=0         nv up ei pl nz na po nc
cs=0023  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00010202
CoolType!CTInit+0x45ef1:
0959a23c 0fb606          movzx   eax,byte ptr [esi]         ds:002b:2952d000=??
 
0:022> kb
 # ChildEBP RetAddr  Args to Child             
WARNING: Stack unwind information not available. Following frames may be wrong.
00 2911e608 09598db1 097eee15 097ef564 097ef44c CoolType!CTInit+0x45ef1
01 2911e674 095939a0 17e9cc38 17e9cd98 17e9cd58 CoolType!CTInit+0x44a66
02 2911e6d0 095935c3 17e9cc38 17e9cd98 17e9cd58 CoolType!CTInit+0x3f655
03 2911e720 0958d9a3 17e9cc38 17e9cd98 17e9cd58 CoolType!CTInit+0x3f278
04 2911e784 0958d79c 00000001 2911e7d8 00000001 CoolType!CTInit+0x39658
05 2911e79c 095a6cb0 2911e8a8 2911e7d8 1a99cf68 CoolType!CTInit+0x39451
06 2911e8fc 095a6996 1a99cf68 097f61a8 2911ea88 CoolType!CTInit+0x52965
07 2911eac4 095a614e 2911ecb8 00000000 097f6480 CoolType!CTInit+0x5264b
08 2911eb90 095a506f 773dfa00 00000000 00000001 CoolType!CTInit+0x51e03
09 2911ef58 095a468a 00000025 20f02fec 00001088 CoolType!CTInit+0x50d24
0a 2911ef98 095a3691 20f02fe0 00000002 2911f028 CoolType!CTInit+0x5033f
0b 2911f100 095a32c7 2911f518 2911f8ac 0000044a CoolType!CTInit+0x4f346
0c 2911f150 0908a44c 145aae2c 2911f518 2911f8ac CoolType!CTInit+0x4ef7c
0d 2911f258 0906bab0 2911f34c 00000000 21d6629c AGM!AGMInitialize+0x51bf0
0e 2911f268 0906b98f 00000000 f7510c27 20d6cf70 AGM!AGMInitialize+0x33254
0f 2911f280 0906ba9c 00000081 21cb6d00 21cb6d00 AGM!AGMInitialize+0x33133
10 2911f9ac 0906182e 090004ca 00001fa0 2911fa01 AGM!AGMInitialize+0x33240
11 2911f9bc 09080a4d 21d76fe8 00000053 00000000 AGM!AGMInitialize+0x28fd2
12 2911fa01 00000000 c8000000 5021ca6f 0027c3d2 AGM!AGMInitialize+0x481f1
 
0:022> !heap -p -a esi
    address 2952d000 found in
    _DPH_HEAP_ROOT @ 3d01000
    in busy allocation (  DPH_HEAP_BLOCK:         UserAddr         UserSize -         VirtAddr         VirtSize)
                                                       293c3924:         2952cf40               c0 -         2952c000             2000
    6a749abc verifier!AVrfDebugPageHeapAllocate+0x0000023c
    7749d836 ntdll!RtlDebugAllocateHeap+0x0000003c
    773ffb40 ntdll!RtlpAllocateHeap+0x000000f0
    773fdecb ntdll!RtlpAllocateHeapInternal+0x0000027b
    773fdc2e ntdll!RtlAllocateHeap+0x0000002e
    6854ed63 MSVCR120!malloc+0x00000049 [f:\dd\vctools\crt\crtw32\heap\malloc.c @ 92]
    095550fc CoolType!CTInit+0x00000db1
    095589db CoolType!CTInit+0x00004690

分析

这个漏洞是堆缓冲区溢出漏洞的一个实例。让我们先看看这个特别制作的PDF文件。我们将这个最小化的PoC文件和正常的PDF文件进行了对比,如下所示。

http://p6.qhimg.com/t01f46f39d84e569361.png

图1:PoC文件与原始PDF文件


CVE-2016-4203分析:Adobe Acrobat和Reader 的CoolType处理导致的堆溢出漏洞
本文由 IT学习网 整理,转载请注明“转自IT学习网”,并附上链接。
原文链接:http://www.ourlove520.com/Article/others/jiami/382640.html

标签分类:

分析 CVE-2016-420 Adobe Acrob
上一篇:上一篇:披合法外衣的远控木马——Game564深入分析
下一篇: 下一篇:绕过 Gmail 的恶意宏特征检测
无觅关联推荐,快速提升流量