|
信息提供: |
安全公告(或线索)提供热线:51cto.editor@gmail.com |
|
漏洞类别: |
资源可被恶意耗尽漏洞 |
|
攻击类型: |
本地攻击 |
|
发布日期: |
2002-07-08 |
|
更新日期: |
2002-07-15 |
|
受影响系统: |
Linux kernel 2.4.9 Linux kernel 2.4.8 Linux kernel 2.4.7 Linux kernel 2.4.6 Linux kernel 2.4.5 Linux kernel 2.4.4 Linux kernel 2.4.3 Linux kernel 2.4.2 Linux kernel 2.4.19pre-6 Linux kernel 2.4.19pre-5 Linux kernel 2.4.19pre-4 Linux kernel 2.4.19pre-3 Linux kernel 2.4.19pre-2 Linux kernel 2.4.19pre-1 Linux kernel 2.4.18 x86 Linux kernel 2.4.18 Linux kernel 2.4.17 Linux kernel 2.4.16 Linux kernel 2.4.15 Linux kernel 2.4.14 Linux kernel 2.4.13 Linux kernel 2.4.12 Linux kernel 2.4.11 Linux kernel 2.4.10 Linux kernel 2.4.1 |
|
安全系统: |
无 |
|
漏洞报告人: |
Paul Starzetz |
|
漏洞描述: |
BUGTRAQ ID: 5178 CVE(CAN) ID: CVE-2002-1963 Linux内核是一款免费开放源代码的操作系统内核,最初由Linux Torvalds编写。 Linux内核在处理文件描述符时存在问题,本地攻击者可以利用这个漏洞进行拒绝服务攻击。 近来的Linux内核保留一套为root用户进程使用的文件描述符,根据默认配置:./include/linux/fs.h:#define NR_RESERVED_FILES 10 /* reserved for root */ 文件中为ROOT用户进程使用的文件描述符大小为10。不过fs/file_table.c程序中对特权用户权限的检查存在问题: struct file * get_empty_filp(void) { static int old_max = 0; struct file * f; file_list_lock(); if (files_stat.nr_free_files > NR_RESERVED_FILES) { used_one: f = list_entry(free_list.next, struct file, f_list); [...] /* * Use a reserved one if we're the superuser */ [*] if (files_stat.nr_free_files && !current->euid) goto used_one; 任意非特权用户在打开所有系统文件描述符后,通过打开执行几个一般的SUID属性的程序如passwd,su而消耗完所有为root用户保留的文件描述符,造成系统产生拒绝服务攻击。 |
|
测试方法: |
无 |
|
解决方法: |
临时解决方法: |