新浪UC ActiveX多个远程栈溢出漏洞
CVE: 暂无
厂商
Sina Inc.
受影响的版本: Sina UC <=UC2006
Overview: 新浪UC是中国非常流行的IM工具之一
http://www.51uc.com
细节:
漏洞的起因是Sina UC的多个ActiveX控件的参数缺乏必要的验证,攻击者构造恶意网页,可以远程完全控制安装了Sina UC 的用户的计算机,
多个控件存在栈溢出问题,包括但不限于:
1. clsid:77AE4780-75E0-4CB0-A162-D1BBE3D50384 C:\Program Files\sina\UC\ActiveX\BROWSER2UC.dll
Sub SendChatRoomOpt ( ByVal astrVerion As String , ByVal astrUserID As String , ByVal asDataType As Integer , ByVal alTypeID As Long )
当第1个参数是一个超常字符串时,发生栈溢出,SEH被覆盖,攻击者可以执行任意代码
调试信息: (534.674): Access violation - code c0000005 (first chance) First chance exceptions are reported before any exception handling. This exception may be expected and handled. eax=00000041 ebx=00000000 ecx=0000037d edx=00000002 esi=02849ada edi=00130000 eip=02b97c76 esp=0012d2cc ebp=0012d2d4 iopl=0 nv up ei pl nz ac pe nc cs=001b ss=0023 ds=0023 es=0023 fs=0038 gs=0000 efl=00000212 *** WARNING: Unable to verify checksum for C:\PROGRA~1\sina\UC\ActiveX\BROWSE~1.DLL *** ERROR: Symbol file could not be found. Defaulted to export symbols for C:\PROGRA~1\sina\UC\ActiveX\BROWSE~1.DLL - BROWSE_1!DllUnregisterServer+0x662c: 02b97c76 f3a5 rep movsd ds:02849ada=41414141 es:00130000=78746341 0:000> g (534.674): C++ EH exception - code e06d7363 (first chance) (534.674): Access violation - code c0000005 (first chance) First chance exceptions are reported before any exception handling. This exception may be expected and handled. eax=00000000 ebx=00000000 ecx=41414141 edx=77f79bb8 esi=00000000 edi=00000000 eip=41414141 esp=0012c8b8 ebp=0012c8d8 iopl=0 nv up ei pl zr na po nc cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000246 41414141 ?? ???
存在问题的代码: ext:100076A2 add dword ptr [esi+4], 2 .text:100076A6 mov eax, [esi+4] .text:100076A9 movzx ecx, word ptr [ebp-14h] .text:100076AD push ecx ; size_t .text:100076AE push dword ptr [ebp+8] ; void * .text:100076B1 mov ecx, [esi+8] .text:100076B4 add ecx, eax .text:100076B6 push ecx ; void * .text:100076B7 call _memcpy
| | v
.text:10007C30 LeadUp1: ; DATA XREF: .text:10007C24o .text:10007C30 and edx, ecx .text:10007C32 mov al, [esi] .text:10007C34 mov [edi], al .text:10007C36 mov al, [esi+1] .text:10007C39 mov [edi+1], al .text:10007C3C mov al, [esi+2] .text:10007C3F shr ecx, 2 .text:10007C42 mov [edi+2], al .text:10007C45 add esi, 3 .text:10007C48 add edi, 3 .text:10007C4B cmp ecx, 8 .text:10007C4E jb short loc_10007C1C .text:10007C50 rep movsd .text:10007C52 jmp ds:off_10007D08[edx*4] .text:10007C52 ; ---------------------------------------------------------------------- .text:10007C59 align 4 .text:10007C5C .text:10007C5C LeadUp2: ; DATA XREF: .text:10007C28o .text:10007C5C and edx, ecx .text:10007C5E mov al, [esi] .text:10007C60 mov [edi], al .text:10007C62 mov al, [esi+1] .text:10007C65 shr ecx, 2 .text:10007C68 mov [edi+1], al .text:10007C6B add esi, 2 .text:10007C6E add edi, 2 .text:10007C71 cmp ecx, 8 .text:10007C74 jb short loc_10007C1C .text:10007C76 rep movsd -------------Exception here.
2. clsid:77AE4780-75E0-4CB0-A162-D1BBE3D50384 C:\Program Files\sina\UC\ActiveX\BROWSER2UC.dll
Sub SendDownLoadFile ( ByVal astrDownDir As String )
当astrDownDir参数设置为超常字符串时,发生栈溢出
调试信息: (57c.1ac): Access violation - code c0000005 (first chance) First chance exceptions are reported before any exception handling. This exception may be expected and handled. eax=41414140 ebx=00000000 ecx=41414140 edx=00000000 esi=0012d974 edi=77dbe2d0 eip=7800268d esp=0012d55c ebp=0012d580 iopl=0 nv up ei pl zr na po nc cs=001b ss=0023 ds=0023 es=0023 fs=0038 gs=0000 efl=00000246 *** ERROR: Symbol file could not be found. Defaulted to export symbols for C:\WINDOWS\system32\RPCRT4.dll - RPCRT4!NDRCContextBinding+0x13: 7800268d 81780498badcfe cmp dword ptr [eax+0x4],0xfedcba98 ds:0023:41414144=???????? 0:000> g (57c.1ac): Unknown exception - code 00000006 (first chance) (57c.1ac): Access violation - code c0000005 (first chance) First chance exceptions are reported before any exception handling. This exception may be expected and handled. eax=00000000 ebx=02e9e510 ecx=78079582 edx=00000000 esi=0019535c edi=00000000 eip=41414141 esp=0012dba0 ebp=41414141 iopl=0 nv up ei pl zr na po nc cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000246 41414141 ?? ???
3. ............
解决方法: 在厂商没有推出相应的补丁之前, 建议用户通过注册表对相应的CLSID设置Killbit
厂商回应: 2007.01.08 发邮件给ucservice@51uc.com 2007.01.08 新浪不甩我。再发送了一封邮件 2007.01.09 到目前为止,没收到任何回应。发布此公告
Update: 2007.01.09 此公告发布到XFOCUS后,Sina安全部门和UC的运营部门联系了我,表示会尽快开发出相应补丁。
|