FreeBSD 6.x特权提升漏洞

来源:岁月联盟 编辑:zhuzhu 时间:2009-10-14
FreeBSD 6.x特权提升漏洞 影响版本:

FreeBSD 6.x漏洞描述:

FreeBSD是一款开放源代码的操作系统。

FreeBSD存在多个安全问题:

-Kqueues相关的pipe "close()"实现存在一个释放后使用错误,可导致可利用的Null指针漏洞,内核内存破坏和其他不可预测结果。成功利用漏洞可导致特权提升,内核数据破坏或崩溃。

-在多数结构中,FreeBSD把进程虚拟内存地址空间划分为用户和内核两块。当进程进入内核时通过避免全局地址控件切换来提升系统调用性能,并且提升内核访问用户内存的性能。

但是,在这个设计中,地址0是作为虚拟地址空间中用户可控部分来处理,如果内核由于一个内核错误而引用Null指针,恶意进程映射到地址0的代码或数据可操作内核行为。如恶意用户进程把代码或数据映射到地址0,内核错误可导致Null指针调用,内核可以以内核特权执行任意代码来代替内核崩溃。

<*参考 

http://security.freebsd.org/advisories/FreeBSD-EN-09:05.null.asc

http://security.freebsd.org/advisories/FreeBSD-SA-09:13.pipe.asc

http://secunia.com/advisories/36955*>

安全建议:

FreeBSD:

pipe "close()"实现错误漏洞的用户可参考如下方法升级:

1) 将有漏洞的系统升级到6-STABLE或RELENG_6_4,或修改日期之后的RELENG_6_3安全版本。

2) 为当前系统打补丁:

以下补丁确认可应用于FreeBSD 6.3、6.4系统。

a) 从以下位置下载相关补丁,并使用PGP工具验证附带的PGP签名。

# fetch http://security.FreeBSD.org/patches/SA-09:13/pipe.patch

# fetch http://security.FreeBSD.org/patches/SA-09:13/pipe.patch.asc

b) 以root执行以下命令:

# cd /usr/src

# patch < /path/to/patch

c) 如<URL:http://www.FreeBSD.org/handbook/kernelconfig.html>所述重新编译内核并重启系统。

Null指针引用错误漏洞的用户可参考如下方法升级:

1) 将有漏洞的系统升级到6-STABLE, 7-STABLE或8-RC,或修改日期之后的RELENG_7_2, RELENG_7_1, RELENG_6_4或RELENG_6_3安全版本。

2) 为当前系统打补丁:

以下补丁确认可应用于FreeBSD 6.3、6.4、7.1和7.2系统。

a) 从以下位置下载相关补丁,并使用PGP工具验证附带的PGP签名。

[FreeBSD 7.x]

# fetch http://security.FreeBSD.org/patches/EN-09:05/null.patch

# fetch http://security.FreeBSD.org/patches/EN-09:05/null.patch.asc

[FreeBSD 6.x]

# fetch http://security.FreeBSD.org/patches/EN-09:05/null6.patch

# fetch http://security.FreeBSD.org/patches/EN-09:05/null6.patch.asc

注意:用于FreeBSD 7.x补丁可用于FreeBSD 8,但是默认不开启此功能。

b) 以root执行以下命令:

# cd /usr/src

# patch < /path/to/patch

c) 如<URL:http://www.FreeBSD.org/handbook/kernelconfig.html>所述重新编译内核并重启系统。

图片内容