Linux Kernel ‘memcg’空指针引用本地拒绝服务漏洞

漏洞起因
异常条件处理失败错误
危险等级

影响系统
Linux kernel 3.2.9
Linux kernel 3.2.1
Linux kernel 3.1.8
Linux kernel 3.0.5
Linux kernel 3.0.4
Linux kernel 3.0.2
Linux kernel 3.0.1
Linux kernel 2.6.x

不受影响系统

危害
本地攻击者可以利用漏洞使内核崩溃。

攻击所需条件
攻击者必须访问Linux。

漏洞信息
Linux是一款开放源代码的操作系统。
memcg未注册事件附到相同eventfd时存在空指针引用错误:
-第一次调用mem_cgroup_usage_unregister_event()删除连接到给定eventfd的所有事件,如果没有任何剩余事件,thresholds->primary会变为NULL。
-由于注册了多个事件,cgroups core会再次调用mem_cgroup_usage_unregister_event(),但由于函数没有检查threshold->primary是否为NULL,可导致内核触发OOPs。

测试方法

厂商解决方案
用户可参考如下供应商提供的安全公告获得补丁信息:
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=371528c

漏洞提供者
Petr Matousek

评论关闭。