Linux 2.4内核execve()系统调用竞争条件洞

漏洞信息详情

Linux 2.4内核execve()系统调用竞争条件洞

漏洞简介

Linux是开放源代码的操作系统。
Linux execve()系统调用存在竞争条件漏洞,本地攻击者可以利用这个漏洞读取某个本无权读取的SUID程序的内容。
execve()函数存在如下代码(fs/binfmt_elf.c):
static int load_elf_binary(struct linux_binprm * bprm, struct pt_regs *
regs)
{
struct file *interpreter = NULL; /* to shut gcc up */
[…]
retval = kernel_read(bprm->file, elf_ex.e_phoff, (char *)
elf_phdata, size);
if (retval < 0)
goto out_free_ph;
retval = get_unused_fd();
if (retval < 0)
goto out_free_ph;
get_file(bprm->file);
fd_install(elf_exec_fileno = retval, bprm->file);
在执行新的二进制程序中,把打开的可执行文件描述符放到当前进程(当前execve()调用者)文件表中,并执行。这可以通过系统clone系统调用在父子进程间创建共享文件描述符然后读取该文件描述符。这允许攻击者读取suid程序的内容(即使攻击者本无权读取)。攻击者也有可能利用这一漏洞以特权状态下执行任意代码,但目前尚未经证实。

漏洞公告

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

http://www.kernel.org/” target=”_blank”>
http://www.kernel.org/

参考网址

来源: REDHAT
名称: RHSA-2003:238
链接:http://www.redhat.com/support/errata/RHSA-2003-238.html

来源: DEBIAN
名称: DSA-423
链接:http://www.debian.org/security/2004/dsa-423

来源: REDHAT
名称: RHSA-2003:198
链接:http://www.redhat.com/support/errata/RHSA-2003-198.html

来源: DEBIAN
名称: DSA-358
链接:http://www.debian.org/security/2004/dsa-358

来源: REDHAT
名称: RHSA-2003:239
链接:http://www.redhat.com/support/errata/RHSA-2003-239.html

来源: US Government Resource: oval:org.mitre.oval:def:309
名称: oval:org.mitre.oval:def:309
链接:http://oval.mitre.org/repository/data/getDef?id=oval:org.mitre.oval:def:309

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享