Linux Kernel 缓冲区溢出漏洞

admin 2022-07-12 10:28:32 CNNVD漏洞 来源:ZONE.CI 全球网 0 阅读模式

漏洞信息详情

Linux Kernel 缓冲区溢出漏洞

  • CNNVD编号:CNNVD-200503-096
  • 危害等级: 中危
  • CVE编号: CVE-2005-0504
  • 漏洞类型: 缓冲区溢出
  • 发布时间: 2005-01-07
  • 威胁类型: 本地
  • 更新时间: 2007-05-16
  • 厂        商: linux
  • 漏洞来源: grsecurity

漏洞简介

Linux Kernel是开放源代码操作系统Linux的内核。 Linux Kernel moxa驱动MoxaDriverIoctl函数存在缓冲区溢出,本地攻击者可以利用这个漏洞提升特权。 问题存在于如下代码drivers/char/moxa.c: In MoxaDriverIoctl(): > if(copy_from_user( &dltmp, argp, sizeof(struct dl_str))) > return -EFAULT; ^ dltmp.len 是由用户控制 > if(dltmp.cardno < 0 || dltmp.cardno >= MAX_BOARDS) > return -EINVAL; > > switch(cmd) > {> case MOXA_LOAD_BiOS: > i = moxaloadbiOS(dltmp.cardno, dltmp.buf, dltmp.len); ^ 调用时没有任何长度检查 > return (i); > case MOXA_FIND_BOARD: > return moxafindcard(dltmp.cardno); > case MOXA_LOAD_C320B: > moxaload320b(dltmp.cardno, dltmp.buf, dltmp.len); ^ 调用时没有任何长度检查 > default: /* to keep gcc happy */ > return (0); > case MOXA_LOAD_CODE: > i = moxaloadcode(dltmp.cardno, dltmp.buf, dltmp.len); ^ 调用时没有任何长度检查 在 moxaloadbiOS()中: >static int moxaloadbiOS(int cardno, unsigned char __user *tmp, int len) >{ > void __iomem *baseAddr; > int i; > > if(copy_from_user(moxaBuff, tmp, len)) ^ copy_from_user没有进行任何长度检查 > return -EFAULT; 在 moxaloadcode()中: > static int moxaloadcode(int cardno, unsigned char __user *tmp, int len) > { > void __iomem *baseAddr, *ofsAddr; > int retval, port, i; > > if(copy_from_user(moxaBuff, tmp, len)) ^ copy_from_user没有进行任何长度检查 > return -EFAULT; In moxaload320b(): >static int moxaload320b(int cardno, unsigned char __user *tmp, int len) >{ > void __iomem *baseAddr; > int i; > > if(len > sizeof(moxaBuff)) ^ signed int只有一个上界检查 > return -EINVAL; > if(copy_from_user(moxaBuff, tmp, len)) ^ copy_from_user的len可能大于sizeof(moxaBuff) > return -EFAULT; 攻击者可以控制长度值造成缓冲区溢出,精心构建提交数据可能以提升特权。

漏洞公告

厂商补丁: Linux ----- grsecurity linux 2.1.0已经修正此问题:

http://grsecurity.net/~spender/exploits_and_patches.tgz

参考网址

来源: BID 名称: 12195 链接:http://www.securityfocus.com/bid/12195 来源: UBUNTU 名称: USN-508-1 链接:http://www.ubuntu.com/usn/usn-508-1 来源: REDHAT 名称: RHSA-2005:663 链接:http://www.redhat.com/support/errata/RHSA-2005-663.HTML 来源: REDHAT 名称: RHSA-2005:551 链接:http://www.redhat.com/support/errata/RHSA-2005-551.HTML 来源: REDHAT 名称: RHSA-2005:529 链接:http://www.redhat.com/support/errata/RHSA-2005-529.HTML 来源: VUPEN 名称: ADV-2005-1878 链接:http://www.frsirt.com/english/advisories/2005/1878 来源: DEBIAN 名称: DSA-1082 链接:http://www.debian.org/security/2006/dsa-1082 来源: DEBIAN 名称: DSA-1070 链接:http://www.debian.org/security/2006/dsa-1070 来源: DEBIAN 名称: DSA-1069 链接:http://www.debian.org/security/2006/dsa-1069 来源: DEBIAN 名称: DSA-1067 链接:http://www.debian.org/security/2006/dsa-1067 来源: SECTRACK 名称: 1013273 链接:http://securitytracker.com/id?1013273 来源: SECUNIA 名称: 30112 链接:http://secunia.com/advisories/30112 来源: SECUNIA 名称: 26651 链接:http://secunia.com/advisories/26651 来源: SECUNIA 名称: 20338 链接:http://secunia.com/advisories/20338 来源: SECUNIA 名称: 20202 链接:http://secunia.com/advisories/20202 来源: SECUNIA 名称: 20163 链接:http://secunia.com/advisories/20163 来源: SECUNIA 名称: 17002 链接:http://secunia.com/advisories/17002 来源: FULLDISC 名称: 20050107 grsecurity 2.1.0 release / 5 Linux kernel advisories 链接:http://lists.grok.org.uk/pipermail/full-disclosure/2005-January/030660.HTML 来源: kernel.org 链接:http://kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.22 来源: REDHAT 名称: RHSA-2008:0237 链接:http://www.redhat.com/support/errata/RHSA-2008-0237.HTML

受影响实体

  • Linux Linux_kernel:2.4.0:Test9  
  • Linux Linux_kernel:2.4.1  
  • Linux Linux_kernel:2.3.99  
  • Linux Linux_kernel:2.3.0  
  • Linux Linux_kernel:2.2.21  

补丁

    暂无

weinxin
特别声明
本站(ZONE.CI)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
评论:0   参与:  0