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(网友投票)