受影响的系统:Microsoft Internet Explorer 5.5SP2/ 5.5SP1/ 5.01/ 5.0.1SP3/ 5.0.1SP2/ 5.0.1SP1/ 5.0/ 5.5。
不受影响系统:Microsoft Internet Explorer 6.0SP1/ 6.0。
描述:Microsoft Internet Explorer是一款流行的Web浏览器。它在处理bitmap文件时缺少正确的边界检查,远程攻击者可以利用该漏洞对目标用户浏览器进行拒绝服务攻击,可能以用户进程权限执行任意指令。
该漏洞存在于处理bitmap文件时:
??? // Before we read the bits, seek to the correct location in the file
??? while (_bmfh.bfOffBits > (unsigned)cbRead)
??? {
??????? BYTE abDummy[1024];
??????? int cbSkip;
??????? cbSkip = _bmfh.bfOffBits - cbRead;
??????? if (cbSkip > 1024)
??????????? cbSkip = 1024;
??????? if (!Read(abDummy, cbSkip))
??????????? goto Cleanup;
??????? cbRead += cbSkip;
??? }
使用一个符号整数作为偏移量,如bfOffBits > 2^31,会导致cbSkip为负值,可绕过大小检查,但是在进行数据拷贝时会按照原有的数据进行操作,而覆盖堆栈中的内容。因此,攻击者构建一个bfOffBits > 2^31的BMP文件,可导致IE5处理时崩溃。精心构建提交数据可能以用户进程权限在系统上执行任意指令。
相关链接: http://www.microsoft.com/windows/ie/default.asp。