openSUSE 安全性更新:exim (openSUSE-SU-2014:0983-1)

high Nessus Plugin ID 77126

概要

遠端 openSUSE 主機缺少安全性更新。

說明

exim 中的變更:

- 隱藏靜態檢查程式;(beo#1506)。

- 4.83 的更新
此版本的 Exim 包含一個不相容的修正:

+ 數學比較函式 (<、<=、=、=>、>) 引數的擴充行為在預期之外,會擴充值兩次;CVE-2014-2972;(bnc#888520)。此版本包含下列增強功能和錯誤修正:

+ PRDR 已從實驗性升階為主線

+ OCSP 裝訂已從實驗性升階為主線

+ 新實驗性功能 Proxy 通訊協定

+ 新實驗性功能 DSN (傳送狀態通知)

+ TLS 工作階段改善

+ TLS SNI 修正

+ LDAP 增強功能

+ DMARC 修正 (之前的 CVE-2014-2957) 和新 $dmarc_domain_policy

+ 數個新運算 (listextract、utf8clean、md5、sha1)

+ 使用 verify=header_names_ascii 強制執行標頭格式化

+ 新命令行選項 -oMm

+ 新 TLSA dns 查閱

+ 新惡意程式碼 'sock' 類型

+ 切貫路由增強功能

+ 記錄增強功能

+ DNSSEC 增強功能

+ exiqgrep 增強功能

+ 取代非標準 SPF 結果

+ 版本和可攜性修正

+ 文件修正和增強功能

- 驗證來源 tar ball gpg 簽章。

- 重新整理 exim-enable_ecdh_openssl.patch 並從修補程式檔案名稱中去除版本號碼。

- exim482-enable_ecdh_openssl.patch:啟用 ECDH (橢圓曲線 diffie hellman) 支援,其從下列網站獲得:http://bugs.exim.org/show_bug.cgi?id=1397

- 僅 SUSE 系統上的 BuildRequire libopenssl-devel。

- 修正 pre 和 postun 程式碼片段的 suse_version 條件。

- 在 post-12.2 系統上,從 pre 程式碼片段呼叫 service_add_pre。

- 4.82 的更新

- 新增 -bI: framework,以及 -bI:sieve,以查詢 sieve 功能。

- 透過使 -n 不執行某些操作,來使其執行某些操作。
當與 -bP 結合時,選項的名稱並非輸出。

- 已新增 tls_dh_min_bits SMTP 傳輸驅動程式選項,僅 GnuTLS 接受。

- 前往 DNSSEC 的第一步,為 $sender_host_name 提供 $sender_host_dnssec 及設定選項來進行管理,以及基本檢查常式。

- 傳出連線的 DSCP 支援以及傳入的控制修飾詞。

- Cyrus SASL:設定驅動程式的本機和遠端 IP;port 內容。(目前使用此內容的唯一外掛程式是 kerberos4,任何人都不應使用,但我們應使其可用,且相信未來其他外掛程式可能使用它,即使它會損毀 NAT;
內容 *應* 改用通道繫結)。

- 處理 'exim -L <tag>' 以指示使用具有標籤的 syslog 作為處理程序名稱;已針對 Sendmail 相容性新增;需要 admin 呼叫者。以等同於 'control = suppress_local_fixups' 的方式處理 -G (我們過去經常會忽略它);需要受信任的呼叫者。另請剖析但忽略:-Ac -Am -X<logfile> Bugzilla 1117。

- Bugzilla 1258 - 重構 MAIL FROM 選用引數處理。

- 新增 +smtp_confirmation 作為預設記錄選項。

- Bugzilla 198 - 實作 remove_header ACL 修飾詞

- Bugzilla 1197、1281、1283 - 規格錯字。

- Bugzilla 1290 - 規格文法修正。

- Bugzilla 1285 - 規格疏漏,修正 spec.txt 建立的 docbook 錯誤。

- 使用 libopendmarc 程式庫新增實驗性 DMARC 支援。

- 修正造成分割錯誤之順序錯誤的全域選項。
已由 Dmitry Isaikin 報告給 dev 郵寄清單。

- Bugzilla 1201 & 304 - 新切貫傳送功能,具有 TLS 支援。

- 支援在 ${if 比較中為數字加上 'G' 後置詞。

- 針對 OpenSSL 處理 smtp 傳輸 tls_sni 選項 forced-fail。

- Bugzilla 1196 - 規格範例更正

- 新增擴充運算子 ${listnamed:name} 和 ${listcount:string}

- 新增 gnutls_allow_auto_pkcs11 選項 (原本稱為 gnutls_enable_pkcs11,但已重新命名,以更準確地表示其函式)。

- 讓 Linux makefile 繼承 CFLAGS/CFLAGS_DYNAMIC。已由 Andreas Metzler 從 Debian 30_dontoverridecflags.dpatch 提取。

- 在 acl 條件 'acl = name arg...' 上新增擴充項目 ${acl {name}{arg}...}、擴充條件 'acl {{name}{arg}...}' 以及選用引數

- 允許多個路由器/傳輸 headers_add/remove 行。

- 新增 dnsdb pseudo-lookup 'a+' 以執行 'aaaa' + 'a' 結合。

- 避免針對 single-message-only 傳輸使用等待中資料庫。來自 Paul Fisher 的效能修補程式。Bugzilla 1262。

- 去除 add_header ACL 修飾詞資料開頭/結尾的新行。Bugzilla 884。

- 新增 $headers_added 變數,內含透過使用 ACL 修飾詞 add_header 產生的內容 (但尚未新增至訊息)。Bugzilla 199。

- 針對所接收行上的 8bitmime 狀態,新增 8bitmime log_selector。已由 Wolfgang Breyha 從 Bugzilla 817 提取。

- SECURITY:防止 DKIM DNS 編碼遭到遠端惡意利用。
CVE-2012-5671 (nb:這是與 Exim 4.80.1 中相同的修正)

- 在傳送行上新增 A= 記錄,並在驗證器上新增 client_set_id 選項。

- 新增選用的 authenticated_sender 記錄至 A= 並為控制新增 log_selector。

- 為 NTLM/SPA auth 修復 server_set_id,其由 4.80 PP/29 損毀。

- Dovecot auth:如果 Dovecot 並未向我們公告 SMTP AUTH 機制,記錄 rejectlog 更好的原因,而不是一般的通訊協定違規錯誤。另外,使 Exim 更能完善處理 Dovecot auth 通訊端中的不良資料。

- 修正可間歇性傳送之收件者的最終重試逾時。

- 當佇列執行者在處理訊息時,Exim 會先路由收件者地址,在此期間,其會根據重試提示資料庫予以刪除。在此之後,它會嘗試傳送訊息給剩餘的任何收件者。然後,它會使用重試規則更新提示資料庫。

- 因此,如果收件者地址間歇性運作,表示其可在路由時間重複延遲。重試提示記錄會保持最新,因此地址絕不會到達最終的截止時間。

- 當使用者針對其儲存配額進行升級時,這是一種非常常見的情況。Exim 在其本機傳送程式碼處理此情況時有一定邏輯。
但是,它不會套用至遠端傳送中的每個收件者延遲,例如透過 LMTP 傳送至單獨的 IMAP 訊息儲存區。

- 此變更可在路由期間新增一個適當的重試規則檢查,以便根據訊息的有效期檢查最終截止時間。我們只會在有地址重試記錄而沒有網域重試記錄時執行此檢查;這表示之前對處理地址的嘗試已開啟 retry_use_local_parts 選項。我們用此來作為類似於本機傳送之目的地的估算,如在 LMTP 中那樣。

- 我懷疑這個新檢查會使舊本機傳送截止檢查變得多餘,但我並未對此進行驗證,所以我將程式碼保留在適當位置。

- 當「寄件者:」為使用者名稱的前置詞時,更正 gecos 擴充。

- 測試 0254 會將一個訊息提交至 Exim 且其具有標頭 &#9;
「重新傳送自:f」

- 當我在使用者 fanf2 下執行測試套件時,Exim 會展開標頭以包含我的全名,而其應已新增「重新傳送寄件者:」標頭。它會將使用者名稱的任何前置詞錯誤地視為等同於使用者名稱。此變更可更正該錯誤。

- DCC 除錯和記錄清理 錯誤情形會記錄至 paniclog 而不是 rejectlog。對前置詞為 'DCC: ' 的行進行除錯,以消除任何語意模糊的情況。

- 避免對查閱相關程式碼的不必要重建。

- 修正作為伺服器之 Exim/TLS 的 SNI 處理中的 OCSP 重新初始化。錯誤由 Jeremy Harris 發現;因初始認可而存在瑕疵。會導致 OCSP 回應 post-SNI,進而觸發 Exim NULL 解除參照及當機。

- 新增 $router_name 和 $transport_name 變數。Bugzilla 308。

- 為 GNU Hurd 定義 SIOCGIFCONF_GIVES_ADDR。錯誤由 Samuel Thibault 偵測、分析及修正。Bugzilla 1331,Debian 錯誤 #698092。

- 更新 eximstats 以注意傳送 'HELO [IpAddr]' 的寄件者

- SMTP PRDR (http://www.eric-a-hall.com/specs/draft-hall-prdr-00.txt )。伺服器由 Todd Lyons 實作,用戶端由 JH 實作。
只會在以 EXPERIMENTAL_PRDR 編譯時啟用。新組態變數 'prdr_enable' 可控制伺服器是否會公告設備。如果用戶端要求 PRDR,會在收到內文內容之後和 acl_smtp_data ACL 之前,針對每個收件者立即呼叫 acl_data_smtp_prdr ACL。用戶端受下列兩個項目控制:smtp 傳輸上的 hosts_try_prdr 選項,和伺服器公告。涉及 PRDR 之傳送和拒絕的預設用戶端記錄會以字串 'PRDR' 為旗標。

- 修正由結束嘗試執行兩次 fclose() 之 ACL 期間的逾時造成的問題。由 Todd Lyons 診斷。更新 configure.default 以更好地處理 IPv6 localhost。由 Alain Williams 修補 (並進行輕微調整)。Bugzilla 880。

- OpenSSL 在使用空 tls_verify_certificates 設定的情況下可正常運作。這點現在與 GnuTLS 一致,且現已記錄:之前未記載之將選項視為未設定的可攜式方法,會強制執行擴充失敗。此方法仍可用,且空字串現在為同等項目。

- 已將 DNSSEC-enabling 選項重新命名為 'dns_dnssec_ok',以使 Exim 會使用 DO (DNSSEC OK) EDNS0 解析器旗標,而不是自行執行驗證這一點更加明確。

- 已新增 force_command 布林值選項至管道運輸。
由 cPanel Inc 的 Nick Koston 修補。

- 對呼叫的 AUTH 支援 (並因此擁有切貫傳送)。Bugzilla 321、823。

- 已新增 udpsend ACL 修飾詞和 hexquote 擴充運算子

- 修正使用已加上時間戳記之記錄檔的 eximon 持續更新。在 4.80 中格式字串清理時損毀,在我修復相同問題的其他錯誤修正時遺漏。由 Heiko Schlichting 報告及修正。Bugzilla 1363。

- 防止 LDAP TLS 的使用發生 Solaris LDAP 變體。
由 Prashanth Katuri 報告。

- 針對 openssl_options,支援 safari_ecdhe_ecdsa_bug。這是 SecureTransport,因此會影響使用系統整合之 TLS 程式庫的任何 MacOS 用戶端,其中包括電子郵件用戶端。

- 修正在針對非 SMTP 本機插入使用 MIME ACL 時,因嘗試對 NULL stdio FILE* 執行 fprintf() 導致的分割錯誤。
由 Warren Baker 報告及協助診斷。

- 針對寄件者/接收者,將 exiqgrep 調整為不區分大小寫。

- 修正 64b 的比較。Bugzilla 1385。

- 新增擴充變數 $authenticated_fail_id 來追蹤失敗的最後一個 id,使其可能在後續 ACL 中參照。

- Bugzilla 1375 - 防止 TLS 在 ldap 中重新繫結。修補程式由 Alexander Miroch 提供。

- Bugzilla 1382 - 選項 ldap_require_cert 會覆寫 start_tls ldap 程式庫初始化,進而允許使用自我簽署的 CA。另外,會在稍後透過使用 NULL (全域 ldap 組態) 而不是 ldap 處理 (每個工作階段),在程式碼中正確設定 require_cert 選項。錯誤由 xgomz 診斷及測試。

- 已增強 src/util/ 子目錄中提供之 ratelimit.pl 指令碼中的文件。

- 錯誤 1301 - 如 EXPERIMENTAL_TPDA,來自 Axel Rau 的已匯入傳輸 SQL 記錄修補程式已由 Jeremy Harris 重新命名為傳輸後傳送動作。

- Bugzilla 1217 - 已新增 Redis 查閱支援。它只會在以 EXPERIMENTAL_REDIS 編譯 Exim 時啟用。新組態變數 redis_servers = 需要設定,其將由 redis 查閱使用。由 The Packet Hub 的 Warren Baker 修補。

- 針對邊角案例,修正 exiqsumm 摘要。修補程式由 Richard Hall 提供。

- Bugzilla 1289 - 闡明當在處理主機清單的情況下,查閱主機名稱或反向 DNS 發生錯誤時的主機/ip 處理。已使用來自對此錯誤之多個註解的建議。

- Bugzilla 1057 - 多個 clamd TCP 目標由 Mark Zealey 修補。

- 之前已將 -CONTINUE 選項新增至測試套件中的 runtest。遺漏數行,已新增進而使 runtest 不需要任何鍵盤互動。

- Bugzilla 1402 - 如果測試套件的任何路徑部分包含大寫字元,測試 533 會失敗。使路由器使用 caseful_local_part。

- Bugzilla 1400 - 新增 AVOID_GNUTLS_PKCS11 構建選項。
當 GnuTLS 已使用 p11-kit 構建時,允許 GnuTLS 支援。

- 針對 openSUSE > 12.2,新增 systemd 支援

- 移除一些過時的條件巨集

- exim.spec 強制使用 SSL 程式庫,以便確保存在 BuildRequires。另外,重新新增之前隱含的 cyrus-sasl。

- 已修正另一個遠端程式碼執行問題 (CVE-2011-1407 / bnc#694798)

- 已修正 STARTTLS 命令插入 (bnc#695144)

解決方案

更新受影響的 exim 套件。

另請參閱

https://bugs.exim.org/show_bug.cgi?id=1397

http://www.eric-a-hall.com/specs/draft-hall-prdr-00.txt

https://bugzilla.novell.com/show_bug.cgi?id=694798

https://bugzilla.novell.com/show_bug.cgi?id=695144

https://bugzilla.novell.com/show_bug.cgi?id=888520

https://lists.opensuse.org/opensuse-updates/2014-08/msg00014.html

Plugin 詳細資訊

嚴重性: High

ID: 77126

檔案名稱: openSUSE-2014-482.nasl

版本: 1.6

類型: local

代理程式: unix

已發布: 2014/8/12

已更新: 2021/1/19

支援的感應器: Frictionless Assessment Agent, Frictionless Assessment AWS, Frictionless Assessment Azure, Nessus Agent, Nessus

風險資訊

VPR

風險因素: Medium

分數: 5.9

CVSS v2

風險因素: High

基本分數: 7.5

媒介: CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P

弱點資訊

CPE: p-cpe:/a:novell:opensuse:exim, p-cpe:/a:novell:opensuse:exim-debuginfo, p-cpe:/a:novell:opensuse:exim-debugsource, p-cpe:/a:novell:opensuse:eximon, p-cpe:/a:novell:opensuse:eximon-debuginfo, p-cpe:/a:novell:opensuse:eximstats-html, cpe:/o:novell:opensuse:12.3, cpe:/o:novell:opensuse:13.1

必要的 KB 項目: Host/local_checks_enabled, Host/SuSE/release, Host/SuSE/rpm-list, Host/cpu

修補程式發佈日期: 2014/7/25

弱點發布日期: 2011/5/16

參考資訊

CVE: CVE-2011-1407, CVE-2012-5671, CVE-2014-2957, CVE-2014-2972