首页 -> 安全研究

安全研究

安全漏洞
FreeBSD “AIO”库交叉进程重写内存漏洞

发布日期:2001-12-10
更新日期:2001-12-18

受影响系统:
FreeBSD FreeBSD 4.4
描述:
BUGTRAQ  ID: 3661
CVE(CAN) ID: CVE-2001-1185

aio.h是POSIX标准的异步I/O的实现,如果要使FreeBSD支持AIO的话,只需要在编译内核时打开“VFS_AIO”选项,缺省情况下该选项是关闭的。

aio.h头文件存在一个竞争条件安全漏洞,允许本地攻击者提升权限。

在某种条件下,对一个输入的套接口未决的读操作可能导致最终调用“execve”,最后读操作继续,并且对新的进程的内存空间进行写操作。本地用户如果能够创建并运行一个调用SUID程序的恶意程序,就可能用任意数据重写SUID程序的任意内存位置,这就可能导致提升权限。

<*来源:David Rufino (dr@soniq.net
  
  链接:http://archives.neohapsis.com/archives/bugtraq/2001-12/att-0090/01-advisory.txt
*>

建议:
临时解决方法:

如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:

* 如果你在编译内核时打开了“VFS_AIO”选项,可以关闭该选项并重新编译内核。

* 使用David Rufino (dr@soniq.net)提供的限制root用户使用AIO的补丁,可以从http://elysium.soniq.net/dr/tao/patch-01下载。补丁如下:

--- sys/kern/vfs_aio_old.c    Sun Dec  9 22:40:43 2001
+++ sys/kern/vfs_aio.c    Sun Dec  9 22:42:11 2001
@@ -1460,6 +1460,9 @@
{
    struct kaioinfo *ki;

+    if (suser (p))
+        return EPERM;
+
    if (p->p_aioinfo == NULL)
        aio_init_aioinfo(p);

厂商补丁:

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

http://www.freebsd.org

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