Exim遠程代碼執行漏洞安全通告

發布時間 2019-09-09

漏洞編號和級別


CVE編號:CVE-2019-15846,危險級別:嚴重,CVSS分值:9.8


影響版本


受影響的版本


Exim < 4.92.2版本


漏洞概述


Exim是基于GPL協議的開放源代碼軟件,由英國劍橋大學的Philip Hazel開發。Exim是一個運行于Unix系統中的開源消息傳送代理(MTA),它主要負責郵件的路由、轉發和投遞。Exim可運行于絕大多數的類UNIX系統上,包括了Solaris、AIX、Linux等。


受影響的Exim版本中的SMTP傳遞過程具有緩沖區溢出。在默認的運行時配置中,可以在TLS協商期間利用精心設計的ServerName Indication(SNI)數據進行利用。


SNI是一種TLS協議組件,旨在使服務器能夠提供不同的TLS證書,以驗證和保護與同一IP地址后面的網站的連接。


當Exim支持TLS時,攻擊者發送以'\0'結束的SNI,此時string_unprinting函數調用string_interpret_escape函數處理轉義序列,由于string_interpret_escape函數中沒有處理'\0'的情況,造成了越界讀取。該錯誤允許本地或未經身份驗證的遠程攻擊者在接受TLS連接的服務器上執行具有root權限的程序。


該漏洞影響Exim 4.92.2以下版本,數百萬臺 Exim 服務器易受該漏洞影響。使用Shodan搜索引擎為互聯網連接設備生成的報告估計服務器數量約為5,250,000,超過3,500,000使用Exim 4.92和超過74,000運行4.92.1。Exim使用的版本狀況如圖所示:





其中Exim使用老版本SSL協議數量比較多,而且有一部分的SSL證書已經過期。如圖所示:







漏洞驗證


暫無POC/EXP。


修復建議


建議用戶立即升級到4.92.2版本,下載鏈接如下:

https://github.com/Exim/exim/releases/tag/exim-4.92.2


緩解措施:

如不能立即升級,建議通過exim的acl_smtp_mail配置如下規則:





參考鏈接


https://www.bleepingcomputer.com/news/security/critical-exim-tls-flaw-lets-attackers-remotely-execute-commands-as-root/