ARCServe Backup for Laptops and Desktops (L&D)是适用于中小业务的ARCServe Backup备份工具版本。 ARCserve L&D在处理RPC接口上的畸形请求数据时存在漏洞,远程攻击者可能利用此漏洞执行任意代码。 ARCserve L&D使用TCP/1900端口做为RPC接口管理ARCserve L&D服务器,正常的通讯示例如下: 0000000027rxrLogin~~administrator --------------------------------------------- Field 1: 10-digit base10 command length field ("0000000027") Field 2: RPC command ("rxrLogin") Field 3: Constant Argument Delimiter ("~~") Field 4: Argument ("administrator") #1 认证用户名缓冲区溢出 rxRPC.dll的认证部分(通过TCP/1900访问)中存在栈溢出漏洞。合法的认证报文示例如下: 0000000013rxrLogin~~administrator 认证时使用wsprintfW将administrator参数拷贝到了栈上0x1AC大小的缓冲区,但没有执行字符串长度检查,如果在第一个认证请求中发送了超长用户名的话就可以触发可利用的溢出。 #2 认证口令缓冲区溢出 rxRPC.dll的认证部分存在栈溢出漏洞。带有口令的合法认证请求示例如下: 1: 0000000030rxrLogin~~administrator~~0000200 2: MyPasswordIs1234 第一个rxrLogin请求的第二个参数定义了下一个请求中所要发送口令的长度。尽管已经验证了第二个请求中的口令字符串长度为正确的长度,但没有对口令长度执行边界检查。如果在第二个请求中的超长口令指定了超长口令长度的话,就会溢出口令字符串目的地所使用的栈缓冲区。
ARCServe Backup for Laptops and Desktops (L&D)是适用于中小业务的ARCServe Backup备份工具版本。 ARCserve L&D在处理RPC接口上的畸形请求数据时存在漏洞,远程攻击者可能利用此漏洞执行任意代码。 ARCserve L&D使用TCP/1900端口做为RPC接口管理ARCserve L&D服务器,正常的通讯示例如下: 0000000027rxrLogin~~administrator --------------------------------------------- Field 1: 10-digit base10 command length field ("0000000027") Field 2: RPC command ("rxrLogin") Field 3: Constant Argument Delimiter ("~~") Field 4: Argument ("administrator") #1 认证用户名缓冲区溢出 rxRPC.dll的认证部分(通过TCP/1900访问)中存在栈溢出漏洞。合法的认证报文示例如下: 0000000013rxrLogin~~administrator 认证时使用wsprintfW将administrator参数拷贝到了栈上0x1AC大小的缓冲区,但没有执行字符串长度检查,如果在第一个认证请求中发送了超长用户名的话就可以触发可利用的溢出。 #2 认证口令缓冲区溢出 rxRPC.dll的认证部分存在栈溢出漏洞。带有口令的合法认证请求示例如下: 1: 0000000030rxrLogin~~administrator~~0000200 2: MyPasswordIs1234 第一个rxrLogin请求的第二个参数定义了下一个请求中所要发送口令的长度。尽管已经验证了第二个请求中的口令字符串长度为正确的长度,但没有对口令长度执行边界检查。如果在第二个请求中的超长口令指定了超长口令长度的话,就会溢出口令字符串目的地所使用的栈缓冲区。