分類: core
模組: openssl
發布時間: 2009-01-07
影響版本: 所有FreeBSD版本
修正版本: 2009-01-07 21:03:41 UTC (RELENG_7, 7.1-STABLE)
2009-01-07 20:17:55 UTC (RELENG_7_1, 7.1-RELEASE-p1)
2009-01-07 20:17:55 UTC (RELENG_7_0, 7.0-RELEASE-p8)
2009-01-07 20:17:55 UTC (RELENG_6, 6.4-STABLE)
2009-01-07 20:17:55 UTC (RELENG_6_4, 6.4-RELEASE-p2)
2009-01-07 20:17:55 UTC (RELENG_6_3, 6.3-RELEASE-p8)
I. 相關背景資料
OpenSSL Project 是一個用來建立強大的商業的加密協定, 主要在 Secure Socket Layer(SSL v2/v3)
和傳輸層的安全(TLS v1)協定上,是一個完整且強大的通用加密涵式庫
II. 問題描述
OpenSSL的EVP_VerifyFinal() function被用來確定數位特徵是否有效
OpenSSL的SSL layer使用EVP_VerifyFinal()在許多地方來檢查回傳值是否正確,會因此造成認證誤判.
這個問題只針對 DSA 和 ECDSA 金鑰.
III. 影響
所有使用OpenSSl用來做為SSL連結的應用程式皆有可能因此誤判認證.
可能會被攻擊者以 man-in-the-middle 的攻擊手法所使用.
其他應用程式使用OpenSSL EVP API 亦可能被感染
IV. 替代方案
使用RSA認證替代DSA或ECDSA認證.
注意: Mozilla Firefox未使用OpenSSL,因此不受影響.
V. 解決方案
以下方案則一即可:
1) 更新受威脅的系統至 6-STABLE, 或 7-STABLE, 或至 RELENG_7_1, RELENG_7_0, RELENG_6_4,或 RELENG_6_3 (需要在此漏洞發布時間後的版本).
2) 修補現有系統 :
以下修補檔案僅測試在以下版本 FreeBSD 6.3, 6.4,7.0, 和 7.1 版本.
[FreeBSD 7.x]
# fetch http://security.FreeBSD.org/patches/SA-09:02/openssl.patch
[FreeBSD 6.x]
# fetch http://security.FreeBSD.org/patches/SA-09:02/openssl6.patch
b) 以root身分 執行下列命令
# cd /usr/src
# patch < /path/to/patch
# cd /usr/src/secure/lib/libssl
# make obj && make depend && make && make install
# cd /usr/src/secure/usr.bin/openssl
# make obj && make depend && make && make install
注意:
在amd64平台 上述執行將不會更新lib32(i386 compatibility)函式.
在amd64平台若使用i386 compatibility函式,請依照handbook上所提及的方式重新編譯
http://www.FreeBSD.org/handbook/makeworld.html 来自:http://ohaha.ks.edu.tw/post/1/86
