linux 远程溢出,Linux Kernel蓝牙CAPI报文远程溢出漏洞

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]执行检查,因此导致了这个溢出。

Linux kernel <= 2.4.33.4

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

http://www.kernel.org/

loading-bars.svg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值