FreeBSD就是一种运行在Intel平台上、可以自由使用的开放源码Unix类系统。
FreeBSD dev/firewire/fwdev.c文件中的fw_ioctl()函数存在整数溢出漏洞,本地攻击者可能利用此漏洞获取敏感信息。
在dev/firewire/fwdev.c的以下代码段中:
if (crom_buf->len < len)
len = crom_buf->len;
else
crom_buf->len = len;
err = copyout(ptr, crom_buf->ptr, len);
crom_buf->len是传送给ioctl的参数,如果能对其传送负值的话就可以绕过这个if语句。copyout函数中使用了攻击者的值,在这个copyout操作之前定义了ptr:
if ( fwdev == NULL ) {
...
ptr = malloc(CROMSIZE, M_FW, M_WAITOK);
...
} else {
ptr = (void *)&fwdev->csrrom[0];
...
}
这个信息泄漏可能导致攻击者dump所有的系统内存。
FreeBSD FreeBSD 5.5
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
<a href="http://www.freebsd.org/security/index.html" target="_blank">http://www.freebsd.org/security/index.html</a>
暂无评论