<<< Date Index >>>     <<< Thread Index >>>

Apple QuickTime H.264 Integer Overflow Vulnerability



Apple QuickTime H.264 Integer Overflow Vulnerability


By Sowhat of Nevis Labs
Date: 2006.09.12

http://www.nevisnetworks.com
http://secway.org/advisory/AD20060912.txt

CVE:    CVE-2006-4381

Vendor:
Apple Inc.


Affected Versions:
Apple QuickTime versions < 7.1.3


Overview:
By carefully crafting a corrupt H.264 movie, an attacker can trigger an
integer overflow which may lead to an application crash or arbitrary code
execution with the privileges of the user.

The vulnerability allows an attacker to  execute arbitrary code
in the context of the user who executes QuickTime.



Details:

This vulnerability exists in the way Quicktime process the H.264 content.

vulnerable code:

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




This vulnerability can be exploited By persuading a user to open
a carefully crafted .mov files or visit a website embedding the
malicious .mov file.



Vendor Response:

2006.05.06      Vendor notified via product-security@xxxxxxxxx
2006.05.07      Vendor responded
2006.09.07      Vendor notified me the patch is available.
2006.09.12      Vendor released QuickTime 7.1.3
2006.09.12      Advisory released




Reference:
1. http://developer.apple.com/documentation/QuickTime/QTFF/index.html
2. http://docs.info.apple.com/article.html?artnum=61798
3. http://docs.info.apple.com/article.html?artnum=304357
4. http://secway.org/vuln.htm

--
Sowhat
http://secway.org
"Life is like a bug, Do you know how to exploit it ?"