首页 -> 安全研究

安全研究

安全漏洞
Linux内核本地特权文件描述符资源可被恶意耗尽漏洞

发布日期: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
描述:
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用户保留的文件描述符,造成系统产生拒绝服务攻击。

<*来源:Paul Starzetz (paul@starzetz.de
  
  链接:http://archives.neohapsis.com/archives/bugtraq/2002-07/0069.html
*>

建议:
临时解决方法:

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

* 修改Linux内核增加fs.h中的NR_RESERVED_FILES值。

厂商补丁:

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

http://www.kernel.org/

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