首页 -> 安全研究

安全研究

安全漏洞
Apple QuickTime多个缓冲区溢出及处理异常漏洞

发布日期:2006-09-12
更新日期:2006-09-13

受影响系统:
Apple QuickTime Player < 7.1.3
不受影响系统:
Apple QuickTime Player 7.1.3
描述:
BUGTRAQ  ID: 19976
CVE(CAN) ID: CVE-2006-4381,CVE-2006-4382,CVE-2006-4384,CVE-2006-4385,CVE-2006-4386,CVE-2006-4388,CVE-2006-4389

Apple QuickTime是一款流行的多媒体播放器,支持多种媒体格式。

Apple QuickTime中存在多个缓冲区溢出和处理异常漏洞,具体如下:

如果用户受骗浏览了特制的H.264电影的话,就可能触发整数溢出或缓冲区溢出漏洞,导致播放器崩溃或执行任意代码(CVE-2006-4381, CVE-2006-4386)。

CVE-2006-4381漏洞代码如下:

QuickTimeH264.qtx.68169AC3

.text:68169A63                 and     esp, 0FFFFFFF8h
.text:68169A66                 sub     esp, 214h
.text:68169A6C                 mov     eax, dword_68323140
.text:68169A71                 mov     edx, [ebp+arg_8]
.text:68169A74                 xor     ecx, ecx
.text:68169A76                 mov     [esp+214h+var_4], eax
.text:68169A7D                 mov     eax, [ebp+arg_0]
.text:68169A80                 mov     cl, [eax+4]
.text:68169A83                 push    ebx
.text:68169A84                 push    esi
.text:68169A85                 push    edi
.text:68169A86                 mov     [esp+220h+var_20C], 0
.text:68169A8E                 and     ecx, 3
.text:68169A91                 inc     ecx
.text:68169A92                 mov     [edx], ecx
.text:68169A94                 mov     cl, [eax+5]
.text:68169A97                 and     cl, 1Fh
.text:68169A9A                 cmp     cl, 1
.text:68169A9D                 jnz     short loc_68169AEF
.text:68169A9F                 mov     cx, [eax+6]
.text:68169AA3                 movzx   dx, ch
.text:68169AA7                 mov     dh, cl
.text:68169AA9                 mov     ecx, edx
.text:68169AAB                 cmp     cx, 100h                <-- cx
= FFFF which is user controllable
.text:68169AB0                 jg      short loc_68169AEF      <--
should be "ja"
.text:68169AB2                 movsx   edx, cx
.text:68169AB5                 mov     ecx, edx
.text:68169AB7                 mov     ebx, ecx                <-- ecx
= 0xFFFFFFFF
.text:68169AB9                 shr     ecx, 2
.text:68169ABC                 lea     esi, [eax+8]
.text:68169ABF                 lea     edi, [esp+220h+var_208]
.text:68169AC3                 rep movsd                       <-- do
memory copy
.text:68169AC5                 mov     ecx, ebx
.text:68169AC7                 and     ecx, 3
.text:68169ACA                 rep movsb
.text:68169ACC                 mov     cl, [edx+eax+8]
.text:68169AD0                 lea     esi, [edx+8]
.text:68169AD3                 inc     esi
.text:68169AD4                 cmp     cl, 1
.text:68169AD7                 jnz     short loc_68169AEF
.text:68169AD9                 mov     cx, [esi+eax]
.text:68169ADD                 movzx   bx, ch
.text:68169AE1                 mov     bh, cl
.text:68169AE3                 add     esi, 2
.text:68169AE6                 mov     ecx, ebx
.text:68169AE8                 cmp     cx, 100h
.text:68169AED                 jle     short loc_68169B07

CVE-2006-4386漏洞代码如下:

6825a28f 668b4806         mov     cx,[eax+0x6]        ; cx = controled by attacker
    6825a293 660fb6d5         movzx   dx,ch            ; dx = 0x00XX (XX - controled
by attacker)
    6825a297 8af1             mov     dh,cl            ; dx = 0xXXXX (-//-)
    6825a299 8bca             mov     ecx,edx        ; ecx = edx
    6825a29b 6681f90001       cmp     cx,0x100        ; compare cx with 0x100
    6825a2a0 7f3d     jg QuickTimeH264!JVTCompComponentDispatch+0x917c
(6825a2df) ; (*1*)
    6825a2a2 0fbfd1           movsx   edx,cx        ; (*2*)
    6825a2a5 8bca             mov     ecx,edx
    6825a2a7 8bd9             mov     ebx,ecx
    6825a2a9 c1e902           shr     ecx,0x2
    6825a2ac 8d7008           lea     esi,[eax+0x8]
    6825a2af 8d7c2418         lea     edi,[esp+0x18]
    6825a2b3 f3a5             rep  movsd ds:00fb8000=????????

如果用户受骗浏览了特制的QuickTime电影的话,就可能触发缓冲区溢出漏洞,导致播放器崩溃或执行任意代码(CVE-2006-4382)。

如果用户受骗浏览了特制的FLC电影的话,就可能触发堆溢出漏洞,导致播放器崩溃或执行任意代码。覆盖堆的数据为0x00XXYYZZ的形式,其中XX、YY和ZZ为可控数据(CVE-2006-4384)。

如果用户受骗浏览了特制的FlashPix文件的话,就可能触发整数溢出或缓冲区溢出漏洞,或留下未初始化对象的异常,导致播放器崩溃或执行任意代码(CVE-2006-4388, CVE-2006-4389)。

如果用户受骗浏览了特制的SGI图形的话,就可能触发缓冲区溢出漏洞,导致播放器崩溃或执行任意代码(CVE-2006-4381, CVE-2006-4386)。

<*来源:Sowhat (smaillist@gmail.com
        Mike Price
        Piotr Bania (bania.piotr@gmail.com
        Ruben Santamarta (ruben@reversemode.com
  
  链接:http://marc.theaimsgroup.com/?l=bugtraq&m=115809299700416&w=2
        http://marc.theaimsgroup.com/?l=bugtraq&m=115808817802891&w=2
        http://lists.apple.com/archives/Security-announce/2006/Sep/msg00000.html
        http://www.idefense.com/intelligence/vulnerabilities/display.php?id=413
        http://www.us-cert.gov/cas/techalerts/TA06-256A.html
*>

测试方法:

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

http://www.securityfocus.com/data/vulnerabilities/exploits/poc_fli.zip

建议:
厂商补丁:

Apple
-----
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

http://www.apple.com/quicktime/

浏览次数:3419
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障