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

QQ空间 新浪微博 微信 QQ facebook twitter
漏洞ID 1193554 漏洞类型 缓冲区溢出
发布时间 2006-09-12 更新时间 2006-09-14
CVE编号 CVE-2006-4386 CNNVD-ID CNNVD-200609-166
漏洞平台 N/A CVSS评分 5.1
|漏洞来源
https://cxsecurity.com/issue/WLB-2006090078
http://www.cnnvd.org.cn/web/xxk/ldxqById.tag?CNNVD=CNNVD-200609-166
|漏洞详情
AppleQuickTime是一款流行的多媒体播放器,支持多种媒体格式。AppleQuickTime中存在多个缓冲区溢出和处理异常漏洞,具体如下:如果用户受骗浏览了特制的H.264电影的话,就可能触发整数溢出或缓冲区溢出漏洞,导致播放器崩溃或执行任意代码。
|漏洞EXP

	Apple QuickTime Player H.264 Codec Remote Integer Overflow
	by Piotr Bania <bania.piotr (at) gmail (dot) com [email concealed]>
	http://www.piotrbania.com
	All rights reserved.

Severity: 		Critical - potencial remote code execution.

CVE:			CVE-2006-4386

Orginal URL:	 
http://piotrbania.com/all/adv/quicktime-integer-overflow-h264-adv-7.1.tx
t

Software affected:	Tested on QucikTime 7.1 (Windows version), with
				all newest add-ons.

Versions for Mac OS X v10.3.9 and later, Windows XP/2000
				are also vulnerable.

0.   DISCLAIMER

Author takes no responsibility for any actions with provided 
informations or
	codes. The copyright for any material created by the author is 
reserved. Any
	duplication of codes or texts provided here in electronic or printed
	publications is not permitted without the author's agreement.

I.   BACKGROUND

Apple QuickTime Player is one of the Apple QuickTime components
	used by hundreds of millions of users.

II.  DESCRIPTION

Apple QuickTime Player is reported prone to remote integer overflow
         vulnerability (exploitable via remotely originated content). 
The overflow
	occurs in the H.264 codec.

Vulnerable code:

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=????????

*1 - JG jumps, takes care of the sign so in this case we have an 
security check for upper
	     bounds, but when cx is a negative number this check is bypassed. 
No lower bounds
	     checks were applied - bad.

*2 - Due to the bypass of the point *1 EDX is now CX extended by sign 
(in this case its
	     negative), EDX now looks like 0xFFFFXXXX, the integer is 
overflowed and rep movsd
	     causes an memory corruption (obvious fact is that ECX is related 
to EDX).

Debugger output:

eax=00fb2028 ebx=ffffc9c9 ecx=3fffda7e edx=ffffc9c9 esi=00fb8000 
edi=00141688
	eip=6825a2b3 esp=0013b6a0 ebp=0013b8c4 iopl=0         nv up ei pl nz ac 
po nc
	cs=001b  ss=0023  ds=0023  es=0023  fs=0038  gs=0000 
efl=00010216
	*** ERROR: Symbol file could not be found.  Defaulted to export symbols 
for E:\Quicktime\QTSystem\QuickTimeH264.qtx -
	QuickTimeH264!JVTCompComponentDispatch+0x9150:
	6825a2b3 f3a5            rep  movsd ds:00fb8000=???????? 
es:00141688=00000000

The vulnerability may lead to remote code execution when specially
	crafted video file (MOV file) is being loaded.

III. POC CODE

Due to severity of this bug i will not release any proof of concept
         codes for this issue.

IV.  VENDOR RESPONSE

Check: http://docs.info.apple.com/article.html?artnum=61798
|参考资料

来源:US-CERT
名称:TA06-256A
链接:http://www.us-cert.gov/cas/techalerts/TA06-256A.html
来源:US-CERT
名称:VU#554252
链接:http://www.kb.cert.org/vuls/id/554252
来源:BID
名称:19976
链接:http://www.securityfocus.com/bid/19976
来源:BUGTRAQ
名称:20060912AppleQuickTimePlayerH.264CodecRemoteIntegerOverflow
链接:http://www.securityfocus.com/archive/1/archive/1/445823/100/0/threaded
来源:APPLE
名称:APPLE-SA-2006-09-12
链接:http://lists.apple.com/archives/Security-announce/2006/Sep/msg00000.html
来源:XF
名称:quicktime-movie-integer-overflow(28934)
链接:http://xforce.iss.net/xforce/xfdb/28934
来源:BUGTRAQ
名称:20060913MultipleVulnerabilitiesinAppleQuickTime
链接:http://www.securityfocus.com/archive/1/archive/1/445888/100/0/threaded
来源:OSVDB
名称:28773
链接:http://www.osvdb.org/28773
来源:VUPEN
名称:ADV-2006-3577
链接:http://www.frsirt.com/english/advisories/2006/3577
来源:SECTRACK
名称:1016830
链接:http://securitytracker.com/id?1016830
来源:SREASON
名称:1550
链接:http://securityreason.com/securityalert/1550
来源:GENTOO
名称:GLSA-200803-08
链接:http://security.gentoo