安全通告: rtld (SA-09:16.rtld)

藍色泡泡 07 十二月, 2009 21:37 FreeBSD通告 靜態連結網址 引用 (0) 預覽列印

安全通告: rtld (SA-09:16.rtld)

主題:       Improper environment sanitization in rtld(1)
分類:       core
模組:       rtld
發布時間:  2009-12-03
影響版本:  FreeBSD 7.0 和之後版本.
修正版本:  2009-12-01 02:59:22 UTC (RELENG_8, 8.0-STABLE)
              2009-12-03 09:18:40 UTC (RELENG_8_0, 8.0-RELEASE-p1)
              2009-12-01 03:00:16 UTC (RELENG_7, 7.2-STABLE)
              2009-12-03 09:18:40 UTC (RELENG_7_2, 7.2-RELEASE-p5)
              2009-12-03 09:18:40 UTC (RELENG_7_1, 7.1-RELEASE-p9)

I.   相關背景資料
run-time link-editor, rtld, 連結動態且所需的函式.  亦允許使用者明確的透過various LD_ environmental 變數載入函式.

II.  問題描述
當執行setuid程式 rtld通常會移除潛在的危險變數. 依據最近FreeBSD的最近變化,一個惡意的環境可能導致unset環境變數失敗.

III. 影響
一個使用者可以執行任何setuid程式並且取得權限.在多數情況下,會取得root權限.

IV. 替代方案
無替代方案, 但系統若沒有不信任的使用者,或是沒有任何不信任的使用者可以執行code狀況,可以忽略此安全通告.

注意:"不信任的使用者"包含使用者可以上傳&執行scripts(CGI, PHP, Python, Perl 等等.)

V.   解決方案

以下擇一即可:

1) 昇級系統至 7-STABLE 或 8-STABLE,或 RELENG_8_0, RELENG_7_2, 
或 RELENG_7_1 安全修正更新日期後的版本.

2) 修補現有系統:

a)下載修補檔案 : 以下修補提供給 7.1, 7.2,和 8.0 版本.
[FreeBSD 7.x]
# fetch http://security.FreeBSD.org/patches/SA-09:16/rtld7.patch
# fetch http://security.FreeBSD.org/patches/SA-09:16/rtld7.patch.asc

[FreeBSD 8.0]
# fetch http://security.FreeBSD.org/patches/SA-09:16/rtld.patch
# fetch http://security.FreeBSD.org/patches/SA-09:16/rtld.patch.asc

b) 修補patch檔案.(root身分)
# cd /usr/src
# patch < /path/to/patch
# cd /usr/src/libexec/rtld-elf
# make obj && make depend && make && make install

補充:
在amd64平台, 上述動作將不會更新ld-elf32.so.1 函式 (i386 compatibility) .amd64需要重新make world.


迴響


發表迴響

發表迴響
 authimage

©2008,2009 - Post by 藍色泡泡 (some rights reserved)