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>所述重新編譯內核并重啟系統。
【編輯推薦】