NetVault是企业级的备份存储解决方案。 NetVault报表管理器监听于TCP 7978端口的调度程序客户端(clsscheduler.exe)和监听于TCP 7977端口的调度程序服务器(srvscheduler.exe)中存在堆溢出漏洞,如果处理了GET和POST请求的超长文件名参数的话,就可以触发这个溢出,导致以系统权限执行任意指令。 在搜索终止/空格字符(\r\t\n)时调度程序使用了一个堆块容纳数据,但没有对这个块执行边界检查,因此如果超长字符串不包含有任意上述字符的话,就可以触发堆溢出。漏洞代码如下: 0x00466C07 mov al, [esi+ebp] 0x00466C0A cmp al, 20h 0x00466C0C jz short loc_466C84 0x00466C0E cmp al, 9 0x00466C10 jz short loc_466C84 0x00466C12 cmp al, 0Ah 0x00466C14 jz short loc_466C84 0x00466C16 cmp al, 0Dh 0x00466C18 jz short loc_466C84 0x00466C1A push 1 0x00466C1C inc esi 0x00466C1D push 1 0x00466C1F lea edx, [esi+ebp] ; heap chunk 0x00466C22 push edx ; readfds 0x00466C23 mov ecx, edi 0x00466C25 call sub_4645C0 ; recv 1 byte 0x00466C2A cmp eax, 0FFFFFFFFh 0x00466C2D mov [ebx+272Ch], eax 0x00466C33 jnz short loc_466C07 ;loop
NetVault是企业级的备份存储解决方案。 NetVault报表管理器监听于TCP 7978端口的调度程序客户端(clsscheduler.exe)和监听于TCP 7977端口的调度程序服务器(srvscheduler.exe)中存在堆溢出漏洞,如果处理了GET和POST请求的超长文件名参数的话,就可以触发这个溢出,导致以系统权限执行任意指令。 在搜索终止/空格字符(\r\t\n)时调度程序使用了一个堆块容纳数据,但没有对这个块执行边界检查,因此如果超长字符串不包含有任意上述字符的话,就可以触发堆溢出。漏洞代码如下: 0x00466C07 mov al, [esi+ebp] 0x00466C0A cmp al, 20h 0x00466C0C jz short loc_466C84 0x00466C0E cmp al, 9 0x00466C10 jz short loc_466C84 0x00466C12 cmp al, 0Ah 0x00466C14 jz short loc_466C84 0x00466C16 cmp al, 0Dh 0x00466C18 jz short loc_466C84 0x00466C1A push 1 0x00466C1C inc esi 0x00466C1D push 1 0x00466C1F lea edx, [esi+ebp] ; heap chunk 0x00466C22 push edx ; readfds 0x00466C23 mov ecx, edi 0x00466C25 call sub_4645C0 ; recv 1 byte 0x00466C2A cmp eax, 0FFFFFFFFh 0x00466C2D mov [ebx+272Ch], eax 0x00466C33 jnz short loc_466C07 ;loop