最近,在初夏,由於 CVE-4.92-2019 漏洞,人們廣泛呼籲將 Exim 更新到版本 10149(
現在所有緊急更新的人又可以「歡欣鼓舞」了:21 年 2019 月 XNUMX 日,研究人員 Zerons 發現了一個嚴重漏洞 使用 TLS 時的 Exim 郵件傳輸代理程式 (MTA) 對於版本來自 4.80 4.92.1到 包容性,允許遠程 以特權執行程式碼 (
脆弱性
在建立安全 TLS 連線時同時使用 GnuTLS 和 OpenSSL 函式庫時會存在該漏洞。
根據開發人員 Heiko Schlittermann 介紹,Exim 中的設定檔預設不使用 TLS,但許多發行版在安裝過程中建立必要的憑證並啟用安全連線。較新版本的 Exim 也安裝了該選項 tls_advertise_hosts=* 並產生必要的證書。
取決於配置。大多數發行版預設啟用它,但 Exim 需要憑證+金鑰才能充當 TLS 伺服器。發行版可能會在安裝過程中建立一個憑證。較新的 Exim 具有預設為「*」的 tls_advertise_hosts 選項,並建立一個自簽名憑證(如果未提供)。
該漏洞本身在於對 SNI(伺服器名稱指示,一項於 2003 年在 RFC 3546 中引入的技術,用於客戶端請求正確的網域名稱憑證的技術)的錯誤處理,
Qualys 的研究人員在 string_printing(tls_in.sni) 函數中發現了一個錯誤,其中涉及「」的錯誤轉義。結果,反斜線被未轉義地寫入列印假脫機頭檔。然後 spool_read_header() 函數以特權權限讀取該文件,這會導致堆溢位。
值得注意的是,目前,Exim 開發人員已經創建了一個漏洞 PoC,可以在遠端易受攻擊的伺服器上執行命令,但尚未公開。由於漏洞很容易被利用,這只是時間問題,而且時間很短。
Qualys 的更詳細研究可以參見
在 TLS 中使用 SNI
潛在易受攻擊的公共伺服器數量
根據大型託管提供者的統計 億軟公司 截至1月4.92日,在租用伺服器上,超過70%的主機使用XNUMX版本。
版本
服務器數量
百分之
4.92.1
6471
企業排放佔全球 1.28%
4.92
376436
企業排放佔全球 74.22%
4.91
58179
企業排放佔全球 11.47%
4.9
5732
企業排放佔全球 1.13%
4.89
10700
企業排放佔全球 2.11%
4.87
14177
企業排放佔全球 2.80%
4.84
9937
企業排放佔全球 1.96%
其他版本
25568
企業排放佔全球 5.04%
E-Soft Inc 公司統計
如果您使用搜尋引擎
- 約 3,500,000 人使用 Exim 4.92(約 1,380,000 人使用 SSL/TLS);
- 超過 74,000 人使用 4.92.1(約 25,000 人使用 SSL/TLS)。
因此,公開已知且可存取的 Exim 潛在易受攻擊的伺服器數量約為 1.5萬元.
在 Shodan 中搜尋 Exim 伺服器
保護
- 最簡單但不建議的選項是不使用 TLS,這將導致電子郵件以明文形式轉發。
- 為了避免該漏洞被利用,最好更新到該版本
Exim 網際網路郵件程式 4.92.2 . - 如果無法更新或安裝修補版本,您可以在 Exim 設定中為該選項設定 ACL acl_smtp_郵件 遵循以下規則:
# to be prepended to your mail acl (the ACL referenced # by the acl_smtp_mail main config option) deny condition = ${if eq{}{${substr{-1}{1}{$tls_in_sni}}}} deny condition = ${if eq{}{${substr{-1}{1}{$tls_in_peerdn}}}}
來源: www.habr.com