瑞星卡卡安全论坛技术交流区反病毒/反流氓软件论坛 System Repair Engineer BUG 反馈,用TINY防火墙的注意了【分享】

1   1  /  1  页   跳转

System Repair Engineer BUG 反馈,用TINY防火墙的注意了【分享】

System Repair Engineer BUG 反馈,用TINY防火墙的注意了【分享】

转自程序作者BLOG

接到用户反馈,说在打开插件管理页面的时候SREng崩溃。经查,确认是由于用户安装了 Tiny Personal Firewall 2005 v6.5.126 软件所致。

Tiny Personal Firewall 2005 v6.5.126 是一款 CA 出品的个人安全软件。这个软件对 LoadLibraryExA 和 LoadLibraryExW 进行了 Win32 API HOOK操作。

但是由于 Tiny Personal Firewall 2005 v6.5.126 自带文件 UmxSbxw.dll 的BUG,当SREng调用LoadLibrary的时候,由于LoadLibraryExA 被 UmxSbxw.dll 所 HOOK,造成代码流程进入 UmxSbxw.dll 模块里面。由于 UmxSbxw.dll 模块在偏移 UmxSbxw+2485 的地方存在一个越界访问,最终造成 SREng 在调用 LoadLibrary 的时候发生崩溃。从而导致 SREng 整个进程崩溃。

相关的完整信息如下所示:

FAULTING_IP:
kernel32!MultiByteToWideChar+240
7c809e9c 8a08            mov    cl,byte ptr [eax]

EXCEPTION_RECORD:  ffffffff -- (.exr ffffffffffffffff)
ExceptionAddress: 7c809e9c (kernel32!MultiByteToWideChar+0x00000240)
  ExceptionCode: c0000005 (Access violation)
  ExceptionFlags: 00000000
NumberParameters: 2
  Parameter[0]: 00000000
  Parameter[1]: 7dc9174e
Attempt to read from address 7dc9174e

DEFAULT_BUCKET_ID:  BAD_PTR_DEREFERENCE

PROCESS_NAME:  SREngPS.EXE

ERROR_CODE: (NTSTATUS) 0xc0000005 - The instruction at 0x%08lx referenced memory at 0x%08lx. The memory could not be %s.

READ_ADDRESS:  7dc9174e

BUGCHECK_STR:  ACCESS_VIOLATION

LAST_CONTROL_TRANSFER:  from 5ff02485 to 7c809e9c

STACK_TEXT: 
01ccef38 5ff02485 00000003 00000000 7dc9174e kernel32!MultiByteToWideChar+0x240
WARNING: Stack unwind information not available. Following frames may be wrong.
01ccef5c 5ff0a0a7 01ccef74 7dc9174e 00000001 UmxSbxw+0x2485
01cceff8 5ff0a255 5ff20f18 5ff20efc 00fb8e50 UmxSbxw+0xa0a7
01ccf024 5ff027ee 01480000 5ff20f18 00000001 UmxSbxw+0xa255
01ccf278 7c801d6e 5ff24f14 7ffddc00 00000000 UmxSbxw+0x27ee
01ccf290 7c801da4 01ccf970 00000000 00000000 kernel32!LoadLibraryExA+0x1f
01ccf2ac 004484d4 01ccf970 b3c5f037 01ccf970 kernel32!LoadLibraryA+0x94
01ccf888 7c935a00 01ccf8d4 00000000 01ccfac4 SREngPS!CPluginCtrlDlg::CallInitPlugin+0x74
01ccf2f4 00000000 00000000 00000000 00000000 ntdll!RtlDosApplyFileIsolationRedirection_Ustr+0x346


STACK_COMMAND:  ~7s; .ecxr ; kb

FAULTING_THREAD:  00000110

PRIMARY_PROBLEM_CLASS:  BAD_PTR_DEREFERENCE

FOLLOWUP_IP:
UmxSbxw+2485
5ff02485 ??              ???

SYMBOL_STACK_INDEX:  1

FOLLOWUP_NAME:  MachineOwner

MODULE_NAME: UmxSbxw

IMAGE_NAME:  UmxSbxw.dll

DEBUG_FLR_IMAGE_TIMESTAMP:  43099a48

SYMBOL_NAME:  UmxSbxw+2485

FAILURE_BUCKET_ID:  ACCESS_VIOLATION_UmxSbxw+2485

BUCKET_ID:  ACCESS_VIOLATION_UmxSbxw+2485

Followup: MachineOwner

代码流程:
    SREng 在 SREngPS!CPluginCtrlDlg::CallInitPlugin 的地方调用了系统的 LoadLibraryA Win32 API,然后 LoadLibraryA 调用系统的 LoadLibraryExA Win32 API,由于 LoadLibraryExA API 被 HOOK,造成了在 LoadLibraryExA 里面调用了 UmxSbxw.DLL 里面的代码。不幸的时候由于 UmxSbxw.DLL 的BUG,导致 UmxSbxw.DLL 发生崩溃并影响到 SREng 进程的稳定性。

小结:这个问题不是由于 System Repair Engineer 造成的。


--------------------------------------------------------------------------------
受影响的产品版本:

System Repair Engineer 2.3
System Repair Engineer 2.2
System Repair Engineer 2.0 RC2


--------------------------------------------------------------------------------

Smallforgs 提醒您:如果你安装了 Tiny Personal Firewall 2005 v6.5.126,请暂时不要使用 SREng 插件功能,或者卸载 Tiny Personal Firewall 2005 v6.5.126 以后再使用插件功能。否则 SREng 会出现由于 Tiny Personal Firewall 2005 v6.5.126 的 Win32 API HOOK 的 BUG 造成的崩溃现象。


Smallfrogs
2006.12.27
最后编辑2006-12-27 10:27:08
分享到:
gototop
 

没发现这个问题~ 请给出博客地址  谢谢
gototop
 
1   1  /  1  页   跳转
页面顶部
Powered by Discuz!NT