主題: Information leak in db(3)
分類: core
模組: libc
發布時間: 2009-04-22
影響版本: All version of FreeBSD
修正版本: 2009-04-11 15:19:26 UTC (RELENG_7, 7.2-PRERELEASE)
2009-04-22 14:07:14 UTC (RELENG_7_1, 7.1-RELEASE-p5)
2009-04-22 14:07:14 UTC (RELENG_7_0, 7.0-RELEASE-p12)
2009-04-11 15:21:11 UTC (RELENG_6, 6.4-STABLE)
2009-04-22 14:07:14 UTC (RELENG_6_4, 6.4-RELEASE-p4)
2009-04-22 14:07:14 UTC (RELENG_6_3, 6.3-RELEASE-p10)
I. 相關背景資料
FreeBSD 的C函式庫(libc)包含建立和存取Berkeley DB 1.85 的資料庫檔案.
此類資料庫被廣泛的在FreeBSD使用;例如系統的密碼檔 (/etc/passwd 和 /etc/master.passwd) 就是透過此類資料庫存取(/etc/pwd.db 和 /etc/spwd.db).
II. 問題描述
部分資料庫介面程式碼所使用的資料結構被指配時未適當的初始化.
III. 影響
這些使用db(3)介面來建立Berkeley資料庫檔案的程式,可能洩漏敏感的資料.若這些產生的資料苦檔案可以被其他使用者讀取,可能會造成敏感訊息的洩漏,例如:登入帳號.
IV. 替代方案
沒有替代方案,系統中若沒有不信任的使用者則不受影響( 泡泡加註: 很幽默的說法
)V. 解決方案
以下擇一即可:
1) 昇級系統至 6-STABLE, 7-STABLE, 或 本安全通告發布日期之後的 RELENG_7_1, RELENG_7_0 , RELENG_6_4 , RELENG_6_3 版本.
2) 修補現有系統:
以下修補被用來提供給 6.3 , 6.4 , 7.0, 和 7.1 版本.
a) 下載修補檔
# fetch http://security.FreeBSD.org/patches/SA-09:07/libc.patch
b) 以root執行下列指令:
# cd /usr/src
# patch < /path/to/patch
# cd /usr/src/lib/libc
# make obj && make depend && make && make install
注意: 在amd64平台 上述動作將不會更新lib32(i386 compatibility)函式.若amd64平台有使用此類涵式,需要重新編譯world. 請參照 : http://www.FreeBSD.org/handbook/makeworld.html
注意2:系統管理者可能會希望重建任何在此更新前所建立的系統資料庫.