首页 -> 安全研究

安全研究

安全漏洞
Linux Kernel蓝牙CAPI报文远程溢出漏洞

发布日期:2006-12-14
更新日期:2006-12-19

受影响系统:
Linux kernel <= 2.4.33.4
不受影响系统:
Linux kernel 2.4.33.5
描述:
BUGTRAQ  ID: 21604
CVE(CAN) ID: CVE-2006-6106

Linux Kernel是开放源码操作系统Linux所使用的内核。

Linux Kernel对入站CAPI消息没有执行正确的处理,远程攻击者可能利用此漏洞在服务器上执行任意指令。

Linux Kernel代码的net/bluetooth/cmtp/capi.c文件中没有正确地处理入站的CAPI消息。如果用户发送了特制的CAPI报文的话,就可能触发缓冲区溢出,覆盖某些内核数据结构,导致执行任意指令。net/bluetooth/cmtp/capi.c中漏洞代码如下:

        case CAPI_FUNCTION_GET_SERIAL_NUMBER:
                controller = CAPIMSG_U32(skb->data, CAPI_MSG_BASELEN + 12);
                if (!info && ctrl) {
                        memset(ctrl->serial, 0, CAPI_SERIAL_LEN);
                        strncpy(ctrl->serial,
                                skb->data + CAPI_MSG_BASELEN + 17,
                                skb->data[CAPI_MSG_BASELEN + 16]);
                }
                break;

->serial是unsigned char[8]且没有对skb->data[CAPI_MSG_BASELEN + 16]执行检查,因此导致了这个溢出。

<*来源:Marcel Holtmann
  
  链接:http://secunia.com/advisories/23408/
        https://bugzilla.redhat.com/bugzilla/long_list.cgi?buglist=218602
        http://kernel.org/pub/linux/kernel/v2.4/ChangeLog-2.4.33.5
*>

建议:
厂商补丁:

Linux
-----
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

http://www.kernel.org/

浏览次数:3942
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障