Lucene search

K
securityvulnsSecurityvulnsSECURITYVULNS:DOC:25030
HistoryNov 02, 2010 - 12:00 a.m.

Adobe Shockwave Player Memory Corruption Vulnerability - CVE-2010-4088

2010-11-0200:00:00
vulners.com
13

Dear List,

I'm writing on behalf of the Check Point Vulnerability Discovery Team to publish
the following vulnerability.

Check Point Software Technologies - Vulnerability Discovery Team (VDT)
http://www.checkpoint.com/defense/

Memory corruption when Adobe Shockwave Player parses .dir media file (duplicated
KEY* reference in mmap record)
CVE-2010-4088

INTRODUCTION

Adobe Shockwave Player is the Adobe plugin to many different browsers to view
rich-media content on the web including animations, interactive
presentations, and online entertainment.

Adobe Shockwave Player does not properly parse .dir media file. mmap records
contains offsets and lengths of all other records. One of such records is KEY*.
It also contains references to other records. Duplicated references to the same
KEY* chunk causes problems in Chrome.

This problem was confirmed in the following versions of Adobe Shockwave Player
and Windows, other versions may be also affected.

Shockwave Player version 11.5.8.612, Module DIRAPI.dll on WinXP_PT SP3 Google
Chrome 6.0.472.55

CVSS Scoring System

The CVSS score is: 9
Base Score: 10
Temporal Score: 9
We used the following values to calculate the scores:
Base score is: AV:N/AC:L/Au:N/C:C/I:C/A:C
Temporal score is: E:POC/RL:U/RC:C

TRIGGERING THE PROBLEM

To trigger the problem a PoC file (repro14.dir) is available to interested
parties.

DETAILS

Due to the very nature of the problem and the way the browser handles it
internally, it is very difficult to debug. The browser catches the
failure.

ModLoad: 041c0000 041c7000 C:\WINDOWS\system32\Adobe\SHOCKW~1\xtras\CBrowser.x32
(924.a78): Break instruction exception - code 80000003 (first chance)
eax=7ffdd000 ebx=00000001 ecx=00000002 edx=00000003 esi=00000004 edi=00000005
eip=7c90120e esp=312fffcc ebp=312ffff4 iopl=0 nv up ei pl zr na pe nc
cs=001b ss=0023 ds=0023 es=0023 fs=0038 gs=0000 efl=00000246
ntdll!DbgBreakPoint:
7c90120e cc int 3

After the break point hit, we see the browser just handles the crash of the
plugin:

0:009> g
eax=7ffdd000 ebx=00000001 ecx=00000002 edx=00000003 esi=00000004 edi=00000005
eip=7c90120f esp=312fffcc ebp=312ffff4 iopl=0 nv up ei pl zr na pe nc
cs=001b ss=0023 ds=0023 es=0023 fs=0038 gs=0000 efl=00000246
ntdll!DbgBreakPoint+0x1:
7c90120f c3 ret
0:009> k
ChildEBP RetAddr
312fffc8 7c951e40 ntdll!DbgBreakPoint+0x1
312ffff4 00000000 ntdll!DbgUiRemoteBreakin+0x2d

Forcing the browser to run in single-mode process we have:

ModLoad: 041c0000 041c7000 C:\WINDOWS\system32\Adobe\SHOCKW~1\xtras\CBrowser.x32
ModLoad: 77920000 77a13000 C:\WINDOWS\system32\SETUPAPI.dll
eax=00000001 ebx=7c802446 ecx=00000000 edx=00000000 esi=0073abc0 edi=000009e0
eip=7c90e460 esp=042cff08 ebp=042cff50 iopl=0 nv up ei pl nz na po nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000202
ntdll!KiUserCallbackDispatcher:
7c90e460 83c404 add esp,4
7c90e463 5a pop edx
7c90e464 64a118000000 mov eax,dword ptr fs:[<Unloaded_papi.dll>+0x7
(00000018)]
7c90e46a 8b4030 mov eax,dword ptr [eax+30h]
7c90e46d 8b402c mov eax,dword ptr [eax+2Ch]
7c90e470 ff1490 call dword ptr [eax+edx*4]
7c90e473 33c9 xor ecx,ecx
7c90e475 33d2 xor edx,edx
7c90e477 cd2b int 2Bh
7c90e479 cc int 3

The Stack Trace:
ntdll!KiUserCallbackDispatcher+0x0
USER32!NtUserMessageCall+0xc
USER32!SendMessageA+0x7f
Plugin!NP_Shutdown+0x41f4

CREDITS

This vulnerability was discovered by Michael Golub and researched by Rodrigo
Rubira Branco from Check Point Vulnerability Discovery Team (VDT).

Best Regards,

Rodrigo.


Rodrigo Rubira Branco
Senior Security Researcher
Vulnerability Discovery Team (VDT)
Check Point Software Technologies