FreeBSD kevent()系统调用竞争条件漏洞


发布日期:2009-08-22
更新日期:2009-08-25

受影响系统:
FreeBSD FreeBSD <= 6.1
描述:
--------------------------------------------------------------------------------
BUGTRAQ  ID: 36101

FreeBSD就是一种运行在Intel平台上、可以自由使用的开放源码Unix类系统。

FreeBSD的SMP系统中的kevent()系统调用存在竞争条件错误。如果本地用户生成了两个线程,其中第一个线程循环执行open()和close()系统调用而第二个线程循环执行kevent()尝试添加无效的文件描述符,就会触发内核态的空指针引用,导致拒绝服务或运行root shell。

<*来源:Pawel Pisarczyk
  *>

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

警 告

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

http://milw0rm.com/exploits/9488

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

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

http://www.freebsd.org/security/index.html

相关内容