Lucene search

K
seebugRootSSV:3240
HistoryApr 30, 2008 - 12:00 a.m.

瑞星杀毒软件SSDT NtOpenProcess()钩子本地拒绝服务漏洞

2008-04-3000:00:00
Root
www.seebug.org
14

0.001 Low

EPSS

Percentile

30.3%

BUGTRAQ ID: 28744
CVE(CAN) ID: CVE-2008-1738

瑞星是中国的一家非常著名的杀毒软件厂商。

瑞星的驱动实现上存在漏洞,本地攻击者可能利用此漏洞导致系统崩溃。

瑞星杀毒软件的NtOpenProcess钩子没有验证以下结构的指针:

/-----------

typedef struct _CLIENT_ID {
HANDLE UniqueProcess;
HANDLE UniqueThread;}

  • -----------/

是否指向了所映射的内存,当代码试图引用指针检查CLIENT_ID->UniqueProcess值时,如果指向了无效的内存,系统就会崩溃。

/-----------

NtOpenProcess( OUT PHANDLE ProcessHandle,
IN ACCESS_MASK AccessMask,
IN POBJECT_ATTRIBUTES ObjectAttributes,
IN PCLIENT_ID ClientId )

.text:00010EAA push ebp
.text:00010EAB mov ebp, esp
.text:00010EAD push esi
.text:00010EAE mov esi, offset Addend
.text:00010EB3 push edi
.text:00010EB4 mov ecx, esi ; Addend
.text:00010EB6 call ds:InterlockedIncrement
.text:00010EBC call PsGetCurrentProcessId
.text:00010EC1 cmp eax, dword_11C8C
.text:00010EC7 jnz short loc_10ECE
.text:00010EC9
.text:00010EC9 loc_10EC9: ; CODE XREF: sub_10EAA+37_j
.text:00010EC9 push [ebp+ClientId]
.text:00010ECC jmp short loc_10EF0

.text:00010ECE
.text:00010ECE loc_10ECE: ; CODE XREF: sub_10EAA+1D_j
.text:00010ECE call PsGetCurrentProcessId
.text:00010ED3 mov ecx, dword_11C80
.text:00010ED9 push eax
.text:00010EDA call sub_11070
.text:00010EDF test al, al
.text:00010EE1 jnz short loc_10EC9
.text:00010EE3 call PsGetCurrentProcessId
.text:00010EE8 mov edi, [ebp+ClientId] ; Here is the bug, if
ClientId is pointing to an invalid address
.text:00010EEB cmp eax, [edi] ; it will crash.
.text:00010EED jnz short loc_10F0D

  • -----------/

Rising Antivirus 19.66.0.0
Rising Antivirus 19.60.0.0
Rising

目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

<a href=“http://rsdownload.rising.com.cn/for_down/rsfree/ravolusrfree.exe” target=“_blank”>http://rsdownload.rising.com.cn/for_down/rsfree/ravolusrfree.exe</a>

0.001 Low

EPSS

Percentile

30.3%