openSUSE 安全更新:dbus-1 (openSUSE-SU-2014:1239-1)

medium Nessus 插件 ID 77890

简介

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

描述

DBUS-1 服务和库已更新到新上游版本 1.6.24,修复了多个安全问题和缺陷。

dbus 1.6.8 以来的上游变更

+ 安全补丁

- 在 cmsg 消息的填充中不接受额外的 fd,否则可能造成 4 字节堆缓冲区溢出。(CVE-2014-3635、fdo#83622;Simon McVittie)

- 将每条消息通过的默认最大 Unix 文件描述符数量从 1024 降低为 16,防止含有默认最大连接数的 uid 耗尽 Linux 的默认 rlimit 下的系统总线的文件描述符。具有更严格 fd 限制的分销商或系统管理员可能希望进一步减少这些限制。此外,在 Linux 上,这将防止二次拒绝服务,否则可能导致 dbus-daemon 超过每个 sendmsg() 的最大 fd 数,并断开将接收这些 fd 的进程。(CVE-2014-3636、fdo#82820;Alban Crequy)

- 在新的可配置限制 pending_fd_timeout(默认为 150 秒)之后,断开的连接仍然具有 fd 待定解组,从而防止通过对连接的文件描述符设置循环引用来创建无法断开的恶意连接。
(CVE-2014-3637、fdo#80559;Alban Crequy)

- 将每个连接的默认最大待定回复数量从 8192 降低为 128,从而降低拒绝服务攻击的算法复杂性(CVE-2014-3638、fdo#81053;Alban Crequy)

- 将系统总线上认证超时的默认值从 30 秒降低为 5 秒,从而避免因为耗尽所有未经认证的连接槽而导致拒绝服务,当所有未经认证的连接槽用尽时,制作新的连接尝试块,而不是断开连接。(CVE-2014-3639、fdo#80919;Alban Crequy)

- On Linux >= 2.6.37-rc4,如果 sendmsg() 执行 ETOOMANYREFS 失败,则静默终止该消息。这样会防止恶意客户端中的攻击通过创建 dbus-daemon 来断开与系统服务的连接(即本地拒绝服务)。(fdo#80163、CVE-2014-3532;Alban Crequy)

- 连续多个消息中包含 fd 时,跟踪剩余的 Unix 文件描述符。
这样会防止恶意客户端可使 dbus-daemon 断开与系统服务连接的另一个攻击。
(fdo#79694、fdo#80469、CVE-2014-3533;Alejandro Martínez Suárez、Simon McVittie、Alban Crequy)

- Collabora Ltd. 的 Alban Crequy 发现并修复了 dbus-daemon(D-Bus 的引用实现的一部分)中的拒绝服务缺陷。此外,在高度异常的环境中,同一缺陷可导致在不应进行通信的进程之间出现边信道。(CVE-2014-3477,fdo#78979)

- CVE-2013-2168:为系统服务修复可用作拒绝服务的 va_list 滥用。
Alexandru Cornea 报告的漏洞。(Simon)

+ 其他补丁

- 在列出可激活的服务或活动服务时,不在内存不足时泄漏内存(fdo#71526,Radoslaw Pajak)

- 修复回归测试中的不明行为(fdo#69924,DreamNik)

- 匹配规则中的 path_namespace='/' 错误地不匹配任何项;现在匹配所有项。(fdo#70799,Simon McVittie)

- 让 dbus_connection_set_route_peer_messages(x, FALSE) 的行为与记录的一致。以前,它假设其第二个参数是 TRUE。(fdo#69165,Chengwei Yang)

- 修复不太可能的错误路径中的空指针取消引用(fdo#69327,Sviatoslav Chagaev)

- 如果 accept4() 因 EINVAL 发生故障(在采用较高版本 glibc 的较低版本 Linux 内核中就可能发生故障),则尝试 accept() 而不是进入忙循环。(fdo#69026,Chengwei Yang)

- 如果 socket() 或 socketpair() 因 EINVAL 或 EPROTOTYPE(例如在含有新的 glibc 的 Hurd 或较早版本的 Linux 上)发生故障,则尝试不使用 SOCK_CLOEXEC。(fdo#69073;Pino Toscano、Chengwei Yang)

- 修复错误代码路径中的文件描述符泄漏。
(fdo#69182,Sviatoslav Chagaev)

- writev() 不可用时修复编译(fdo#69409,Vasiliy Balyasnyy)

- 避免信号中断 waitpid() 时无限忙循环(fdo#68945,Simon McVittie)

- 正确转义包含非 ASCII 字符的地址(fdo#53499,Chengwei Yang)

- 如果 malloc() 在 _dbus_string_init() 或类似函数中返回 NULL,并且在之后释放字符串,不释放无效指针(fdo#65959,Chengwei Yang)

- 如果 malloc() 在 dbus_set_error() 中返回 NULL,不为从不曾 va_start() 的 va_list 执行 va_end()(fdo#66300,Chengwei Yang)

- 修复严格对齐平台上的回归测试(fdo#67279,Colin Walters)

- 避免调用函数参数“interface”,因为某些 Windows 标头拥有该名称的命名空间污染宏(fdo#66493,Ivan Romanov)

- 使“make -j check”工作(fdo#68852,Simon McVittie)

- 在 dbus-daemon 中,如果 .service 文件开头为 key=value 则不会崩溃(fdo#60853,Chengwei Yang)

- 修复 systemd 连接到总线之前尝试激活 systemd 服务导致的断言失败(fdo#50199,Chengwei Yang)

- 避免忽略 write() 返回的编译器警告 (Chengwei Yang)

- UTF-8 字符串中再次允许使用以下 Unicode 勘误表 #9、非字符 U+nFFFE、U+nFFFF、U+FDD0..U+FDEF。(fdo#63072,Simon McVittie)

- 通过负插槽(即分配插槽之前)诊断 dbus_connection_get_data() 的不正确使用而非返回垃圾(fdo#63127,Dan Williams)

- 在激活帮助程序中,当编译测试时,不重置系统总线地址,从而修复回归测试。(fdo#52202,Simon)

- 修复 Valgrind 3.8 构建,代价是造成在某些编译器中 Valgrind 3.6 发出无害的警告(fdo#55932,Arun Raghavan)

- 不泄漏指向 /dev/null 的临时 fds(fdo#56927,Michel HERMIER)

- 在 CMake 下创建 session.d、system.d 目录(fdo#41319,Ralf Habacker)

- 包括 alloca.h 用于 alloca()(如果可用),修复对 Solaris 10 的编译(fdo#63071,Dagobert Michelsen)

解决方案

更新受影响的 dbus-1 程序包。

另见

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

https://lists.opensuse.org/opensuse-updates/2014-09/msg00049.html

插件详情

严重性: Medium

ID: 77890

文件名: openSUSE-2014-557.nasl

版本: 1.6

类型: local

代理: unix

发布时间: 2014/9/26

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

支持的传感器: Frictionless Assessment AWS, Frictionless Assessment Azure, Frictionless Assessment Agent, Nessus Agent, Continuous Assessment, Nessus

风险信息

VPR

风险因素: Low

分数: 3.6

CVSS v2

风险因素: Medium

基本分数: 4.4

矢量: CVSS2#AV:L/AC:M/Au:N/C:P/I:P/A:P

漏洞信息

CPE: p-cpe:/a:novell:opensuse:dbus-1-x11, p-cpe:/a:novell:opensuse:libdbus-1-3, p-cpe:/a:novell:opensuse:dbus-1-devel, p-cpe:/a:novell:opensuse:dbus-1-debugsource, p-cpe:/a:novell:opensuse:libdbus-1-3-debuginfo-32bit, cpe:/o:novell:opensuse:12.3, p-cpe:/a:novell:opensuse:dbus-1-debuginfo-32bit, p-cpe:/a:novell:opensuse:dbus-1-x11-debuginfo, p-cpe:/a:novell:opensuse:dbus-1-x11-debugsource, p-cpe:/a:novell:opensuse:libdbus-1-3-32bit, p-cpe:/a:novell:opensuse:dbus-1-debuginfo, p-cpe:/a:novell:opensuse:dbus-1-32bit, p-cpe:/a:novell:opensuse:libdbus-1-3-debuginfo, p-cpe:/a:novell:opensuse:dbus-1, p-cpe:/a:novell:opensuse:dbus-1-devel-32bit

必需的 KB 项: Host/local_checks_enabled, Host/cpu, Host/SuSE/release, Host/SuSE/rpm-list

补丁发布日期: 2014/9/17

参考资料信息

CVE: CVE-2013-2168, CVE-2014-3477, CVE-2014-3532, CVE-2014-3533, CVE-2014-3635, CVE-2014-3636, CVE-2014-3637, CVE-2014-3638, CVE-2014-3639