Linux Kernel moxa串行驱动BSS溢出漏洞

2008-04-10 03:03:57来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

Linux Kernel moxa串行驱动BSS溢出漏洞

发布日期:2005-02-22
更新日期:2005-03-04

受影响系统:
Linux kernel 2.6.x
Linux kernel 2.4.x
Linux kernel 2.2.x
描述:
BUGTRAQ ID: 12195
CVE(CAN) ID: CVE-2005-0504

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;

攻击者可以控制长度值造成缓冲区溢出,精心构建提交数据可能以提升特权。

<*来源:grsecurity

链接:http://lists.netsys.com/pipermail/full-disclosure/2005-January/030660.html
*>

建议:
厂商补丁:

Linux
-----
grsecurity linux 2.1.0已经修正此问题:

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

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Foxmail Server

下一篇:WowBB view_user.php远程SQL注入漏洞