Linux Kernel 2.4.22... CVE-2003-0961 CNVD-2003-3504 CNNVD-200312-060

7.2 AV AC AU C I A
发布: 2003-12-15
修订: 2016-10-18

Linux是一款开放源代码操作系统。 Linux内核包含的do_brk()函数对参数缺少充分边界检查,本地攻击者可以利用这个漏洞获得ROOT权限。 最近运行在X86机器的Linux内核运行在X86机器的物理内存管理使用简单平坦内存模型,每个用户进程内存地址范围为从0到TASK_SIZE字节。超过此内存的限制不能被用户访问,并包含此数据结构的内核代码。用户进程被分为几个逻辑段,成为虚拟内存区域,内核跟踪和管理用户进程的虚拟内存区域提供切当的内存管理和内存保护处理。 do_brk()是一个内部内核函数,用于间接调用管理进程的内存堆的增加和缩减(brk),它是一个mmap(2)系统调用的简化版本,只处理匿名映射(如未初始化数据),函数对其参数缺少正确的边界检查,可以利用建立任意大的虚拟内存区域,超过用户可访问的内存限制,因此此限制以上的内核内存会变成用户进程的一部分。 一般用户进程的内存分布类似如下: bash$ cat /proc/self/maps 08048000-0804c000 r-xp 00000000 03:02 207935 /bin/cat 0804c000-0804d000 rw-p 00003000 03:02 207935 /bin/cat 0804d000-0804e000 rwxp 00000000 00:00 0 40000000-40015000 r-xp 00000000 03:02 207495 /lib/ld-2.3.2.so 40015000-40016000 rw-p 00014000 03:02 207495 /lib/ld-2.3.2.so 40016000-40017000 rw-p 00000000 00:00 0 40020000-40021000 rw-p 00000000 00:00 0 42000000-4212f000 r-xp 00000000 03:02 319985 /lib/tls/libc-2.3.2.so 4212f000-42132000 rw-p 0012f000 03:02 319985 /lib/tls/libc-2.3.2.so 42132000-42134000 rw-p 00000000 00:00 0 bfffe000-c0000000 rwxp fffff000 00:00...

0%
当前有5条漏洞利用/PoC
当前有1条受影响产品信息