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

high Nessus 插件 ID 77126

简介

远程 openSUSE 主机缺少安全更新。

描述

exim 中的变更:

- 静默静态检查器;(beo#1506)。

- 更新到 4.83 Exim 的此版本包含一个不兼容的补丁:

+ 扩大参数以匹配比较函数(<、<=、=、=>、>)的行为纯属意外,会将值扩大两次;CVE-2014-2972;(bnc#888520) 此版本包含以下增强和缺陷补丁:

+ PRDR 已被从 Experimental 提升到干线

+ OCSP Stapling 已被从 Experimental 提升到干线

+ 新的 Experimental 功能 Proxy Protocol(代理协议)

+ 新的 Experimental 功能 DSN(Delivery Status Notifications,交付状态通知)

+ TLS 会话改进

+ TLS SNI 补丁

+ LDAP 增强

+ DMARC 补丁(之前的 CVE-2014-2957)和新的 $dmarc_domain_policy

+ 多个新操作(listextract、utf8clean、md5、sha1)

+ 强制通过 verify=header_names_ascii 进行标头格式化

+ 新的命令行选项 -oMm

+ 新的 TLSA dns 查找

+ 新的恶意软件“sock”类型

+ cutthrough 路由增强

+ 日志记录增强

+ 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

- BuildRequire libopenssl-devel 仅适用于 SUSE 系统。

- 修复 pre- 和 postun 小脚本的 suse_version 条件。

- 从 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;移植驱动程序的属性。(当前唯一使用此功能的插件为 kerberos4,任何人都不应使用该插件,但我们应使其可用并且可以料想其他未来的插件可能会使用它,即使它会破坏 NAT;stuff *应* 转而使用通道绑定)。

- 处理“exim -L <tag>”以指明将包含标签的 syslog 用作进程名称;为 Sendmail 兼容性而添加;需要管理员调用程序。将 -G 处理为等于“control = suppress_local_fixups”(过去只是忽略它);需要受信任的调用程序。还会解析但忽略:-Ac -Am -X<logfile> Bugzilla 1117。

- Bugzilla 1258 - 重构 MAIL FROM 可选参数处理。

- 添加 +smtp_confirmation 作为默认日志记录选项。

- Bugzilla 198 - 实现 remove_header ACL 修饰符。

- Bugzilla 1197、1281、1283 - Spec 拼写错误。

- Bugzilla 1290 - Spec 语法补丁。

- Bugzilla 1285 - Spec 遗漏,修复 spec.txt 创建中的 docbook 错误。

- 添加使用 libopendmarc 库的 Experimental DMARC 支持。

- 修复造成段错误的失序全局选项。
由 Dmitry Isaikin 报告给 dev 邮件列表。

- Bugzilla 1201 和 304 - 新的 cutthrough-delivery 功能,包含 TLS 支持。

- ${if 比较中支持数字的“G”后缀。

- 处理 OpenSSL 的 smtp 传输 tls_sni 选项 forced-fail。

- Bugzilla 1196 - Spec 示例修正

- 添加扩展运算符 ${listnamed:name} 和 ${listcount:string}

- 添加 gnutls_allow_auto_pkcs11 选项(最初名为 gnutls_enable_pkcs11,但已重命名以更准确地指明其功能。

- 使 Linux makefile 继承 CFLAGS/CFLAGS_DYNAMIC。由 Andreas Metzler 提取自 Debian 30_dontoverridecflags.dpatch。

- 添加扩展项目 ${acl {name}{arg}...}、扩展条件“acl {{name}{arg}...}”以及 acl 条件“acl = name arg...”的可选参数

- 允许多种 router/transport 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 log_selector,用于接收到的行上的 8bitmime 状态。由 Wolfgang Breyha 提取自 Bugzilla 817。

- SECURITY:保护 DKIM DNS 解码免受远程利用。
CVE-2012-5671(nb:此补丁与 Exim 4.80.1 中的相同)

- 在交付行上添加 A= logging,在认证程序中添加 client_set_id 选项。

- 将可选的 authenticated_sender 日志记录添加到 A= 和 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 中一样。

- 我怀疑此新检查使旧的本地交付中断检查变得多余,但我尚未对此进行验证,所有我保留了代码。

- 修正 From: 为用户名前缀时的 gecos 扩展。

- 测试 0254 向 Exim 提交一条消息,其标头为 &#9;
Resent-From: f

- 我在用户 fanf2 下运行测试套件时,Exim 将标头扩展以包含我的全名,然而它应添加 Resent-Sender: 标头。它错误地将用户名的任何前缀视为等于用户名。此变更修正该缺陷。

- DCC 调试和日志记录清理错误条件记录到 paniclog 而非 rejectlog。Debug 行带有“DCC:”前缀以消除任何歧义。

- 避免与查找有关的代码的不必要重建。

- 修复 Exim/TLS 作为服务器时 SNI 处理中的 OCSP 重新初始化。由 Jeremy Harris 报告的缺陷;自初始提交起就存在缺陷。会导致 OCSP 响应在 SNI 之后触发 Exim 空取消引用和崩溃。

- 添加 $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 的选项重命名为“dns_dnssec_ok”,以便更清晰地表明 Exim 正在使用 DO (DNSSEC OK) EDNS0 解析器标记,而非自行执行验证。

- 向管道传输添加了 force_command 布尔选项。
cPanel Inc. 的 Nick Koston 提供的修补程序。

- 对调出的 AUTH 支持(因此支持 cutthrough-deliveries)。Bugzilla 321、823。

- 添加了 udpsend ACL 修饰符和 hexquote 扩展运算符

- 修复 eximon 通过有时间戳的日志文件持续更新的问题。在 4.80 中的格式字符串清理中被破坏,我维修同一问题的其他假补丁时缺少它。Heiko Schlichting 提供的报告和补丁。Bugzilla 1363。

- 针对 Solaris LDAP 变体保护 LDAP TLS 使用情况。
Prashanth Katuri 提供的报告。

- 支持 openssl_options 的 safari_ecdhe_ecdsa_bug。它是 SecureTransport,因此影响任何使用系统集成的 TLS 库的 MacOS 客户端,包括电子邮件客户端。

- 修复将 MIME ACL 用于非 SMTP 本地注入时因尝试 fprintf() 到空 stdio 文件*而造成的段错误。
Warren Baker 提供的报告和诊断协助。

- 调整 exiqgrep,使其不区分发件人/收件人的大小写。

- 修复 64b 的比较。Bugzilla 1385。

- 添加扩展变量 $authenticated_fail_id,用于跟踪上一个失败的 ID,以便可在后续的 ACL 中引用。

- Bugzilla 1375 - 防止 ldap 中的 TLS 重新绑定。Alexander Miroch 提供的修补程序。

- Bugzilla 1382 - 选项 ldap_require_cert 替代 start_tls ldap 库初始化,从而允许使用自签名 CA。随后还使用 NULL(全局 ldap 配置)代替 ldap 句柄(按会话)在代码中正确设置 require_cert 选项。alxgomz 提供的缺陷诊断和测试。

- 增强了 src/util/ 子目录中提供的 ratelimit.pl 脚本中的文档。

- 缺陷 1301 - 从 Axel Rau 导入的传输 SQL 日志记录修补程序由 Jeremy Harris 重命名为 Transport Post Delivery Action,与 EXPERIMENTAL_TPDA 一样。

- Bugzilla 1217 - 添加了 Redis 查找支持。仅在通过 EXPERIMENTAL_REDIS 编译 Exim 时启用。需要对将由 redis 查找使用的新配置 redis_servers = 变量进行配置。The Packet Hub 的 Warren Baker 提供的修补程序。

- 修复极端情况下的 exiqsumm 摘要。Richard Hall 提供的修补程序。

- Bugzilla 1289 - 处理主机列表期间,详尽说明查找主机名或反向 DNS 出现错误时的主机/IP 处理。使用了对此缺陷的多种注释中的建议。

- Bugzilla 1057 - 由 Mark Zealey 提供的多种 clamd TCP 目标修补程序。

- 之前添加了 -CONTINUE 选项以在测试套件中进行 runtest。缺少一些行,已添加以使 runtest 不需要任何键盘交互。

- Bugzilla 1402 - 如果测试套件的路径的任何部分包含大写字符,则测试 533 失败。使路由器使用 caseful_local_part。

- Bugzilla 1400 - 添加 AVOID_GNUTLS_PKCS11 构建选项。
通过 p11-kit 构建了 GnuTLS 时允许 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

插件详情

严重性: High

ID: 77126

文件名: openSUSE-2014-482.nasl

版本: 1.6

类型: local

代理: unix

发布时间: 2014/8/12

最近更新时间: 2021/1/19

支持的传感器: Frictionless Assessment AWS, Frictionless Assessment Azure, Frictionless Assessment Agent, 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/cpu, Host/SuSE/release, Host/SuSE/rpm-list

补丁发布日期: 2014/7/25

漏洞发布日期: 2011/5/16

参考资料信息

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