安全研究

安全漏洞
Linux Kernel ELF Core Dump本地溢出漏洞

发布日期:2005-05-12
更新日期:2005-05-12

受影响系统:
Linux kernel 2.6 >= 2.6.12-rc4
Linux kernel 2.4 >= 2.4.31-pre1
Linux kernel 2.2 >= 2.2.27-rc2
描述:
BUGTRAQ  ID: 13589
CVE(CAN) ID: CVE-2005-1263

Linux Kernel是Linux操作系统所使用的内核。

Linux Kernel在创建ELF core dump时存在本地溢出漏洞,本地攻击者可能利用此漏洞进行拒绝服务攻击或提升权限。

漏洞存在于copy_from_user()函数:

static int elf_core_dump(long signr, struct pt_regs * regs, struct file * file)
{
       struct elf_prpsinfo psinfo; /* NT_PRPSINFO */

       /* first copy the parameters from user space */
       memset(&psinfo, 0, sizeof(psinfo));
       {
[*]           int i, len;

              len = current->mm->arg_end - current->mm->arg_start;
[**]          if (len >= ELF_PRARGSZ)
                     len = ELF_PRARGSZ-1;
[1167]        copy_from_user(&psinfo.pr_psargs,
                           (const char *)current->mm->arg_start, len);

这里的行号对所有2.4.30 kernel版本都是有效的。从[*]可见提供给copy_from_user()函数的len变量是有符号的,可能为负值。这就可能允许绕过[**]的检查,导致kernel栈溢出。

攻击者可以通过创建恶意的ELF可执行程序来利用这个漏洞。该程序可以在elf_core_dump()中创建负数的len值。

<*来源:Paul Starzetz (paul@starzetz.de
  
  链接:http://marc.theaimsgroup.com/?l=bugtraq&m=111583294409866&w=2
*>

建议:
厂商补丁:

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

http://www.kernel.org/

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