Compression Plus库用于压缩/解压各种流行的文档格式。 Compression Plus库的代码在处理ZOO文档时存在漏洞,成功利用这个漏洞的攻击者可能以当前执行用户权限执行任意指令。 Compression Plus库中ReadFile()函数的nNumberOfBytesToRead参数是由用户提供的,但没有执行任何长度检查。对ReadFile()最多可传送7FFFh的值,但指定39Ch字节就可以覆盖栈中的函数返回指针,如下: .text:1040A71B movsx eax, word ptr [ebp+ZooHeader+24h] .text:1040A71F push eax ; nNumberOfBytesToRead .text:1040A720 lea eax, [ebp+var_394] .text:1040A726 push eax ; lpBuffer .text:1040A727 push [ebp+ZooHeader+88h] .text:1040A72A call _ReadFileWrapper 任何使用了这个库的其他程序都会受这个漏洞的影响。 Tumbleweed MailGate Email Firewall BeCubed Software Compression Plus 5 Canyon Software Power File Canyon Software Drag and Zip VCOM PowerDesk Pro 6 目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载: https://kb1.tumbelweed.com/article.asp?article=4175&p=2 BeCubed Software ---------------- 目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载: http://www.becubed.com/support.htm
Compression Plus库用于压缩/解压各种流行的文档格式。 Compression Plus库的代码在处理ZOO文档时存在漏洞,成功利用这个漏洞的攻击者可能以当前执行用户权限执行任意指令。 Compression Plus库中ReadFile()函数的nNumberOfBytesToRead参数是由用户提供的,但没有执行任何长度检查。对ReadFile()最多可传送7FFFh的值,但指定39Ch字节就可以覆盖栈中的函数返回指针,如下: .text:1040A71B movsx eax, word ptr [ebp+ZooHeader+24h] .text:1040A71F push eax ; nNumberOfBytesToRead .text:1040A720 lea eax, [ebp+var_394] .text:1040A726 push eax ; lpBuffer .text:1040A727 push [ebp+ZooHeader+88h] .text:1040A72A call _ReadFileWrapper 任何使用了这个库的其他程序都会受这个漏洞的影响。 Tumbleweed MailGate Email Firewall BeCubed Software Compression Plus 5 Canyon Software Power File Canyon Software Drag and Zip VCOM PowerDesk Pro 6 目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载: https://kb1.tumbelweed.com/article.asp?article=4175&p=2 BeCubed Software ---------------- 目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载: http://www.becubed.com/support.htm