发布日期: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)
链接:
?l=full-disclosure&m=126348459001970&w=2
*>
测试方法:
--------------------------------------------------------------------------------
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
建议:
--------------------------------------------------------------------------------
厂商补丁:
Linux
-----
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:
?p=linux/kernel/git/torvalds/linux-2.6.git;a=log;h=53281b6d34d44308372d16acb7fb5327609f68b6