Linux Kernel fasync_helper()函数本地权限提升漏洞


发布日期:2009-12-16
更新日期:2010-01-15

受影响系统:
Linux kernel 2.6.x
描述:
--------------------------------------------------------------------------------
BUGTRAQ  ID: 37806
CVE ID: CVE-2009-4141

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

Linux Kernel在处理FASYNC标志集中的文件描述符时存在释放后使用错误。由于fasync_helper()函数错误的假设文件只能位于一个fasync列表中,因此可能会清除FASYNC标志。在最终关闭描述符并释放文件的时候,不会再设置FASYNC标志,因此不会从fasync列表中删除,这样就留下了对已释放结构的虚引用。本地攻击者可以利用这个漏洞导致执行任意内核级代码。

<*来源:Tavis Ormandy (taviso@gentoo.org)
 
  链接:http://secunia.com/advisories/38199/
        http://marc.info/?l=full-disclosure&m=126348459001970&w=2
*>

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

警 告

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

http://lock.cmpxchg8b.com/5ebe2294ecd0e0f08eab7690d2a6ee69/create_elf_tables.c

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

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

http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=log;h=53281b6d34d44308372d16acb7fb5327609f68b6

相关内容