Bug 1104791 - (CVE-2014-3477) CVE-2014-3477 dbus: denial of service flaw in dbus-daemon
CVE-2014-3477 dbus: denial of service flaw in dbus-daemon
Status: CLOSED WONTFIX
Product: Security Response
Classification: Other
Component: vulnerability (Show other bugs)
unspecified
All Linux
medium Severity medium
: ---
: ---
Assigned To: Red Hat Product Security
impact=moderate,public=20140610,repor...
: Security
Depends On: 1107886 1117395
Blocks: 1104793
  Show dependency treegraph
 
Reported: 2014-06-04 13:15 EDT by Vincent Danen
Modified: 2015-01-20 12:08 EST (History)
7 users (show)

See Also:
Fixed In Version: dbus 1.6.20, dbus 1.8.4
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2015-01-20 12:08:08 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
upstream patch (6.42 KB, patch)
2014-06-04 13:17 EDT, Vincent Danen
no flags Details | Diff

  None (edit)
Description Vincent Danen 2014-06-04 13:15:49 EDT
Alban Crequy of Collabora Ltd. discovered a denial of service flaw in dbus-daemon.  If a client (C1) was prohibited from sending a message to a service (S1), and S1 was not currently running, then C1 could attempt to send a message to S1's well-known bus name, causing dbus-daemon to start S1.  When S1 had started and obtained its well-known bus name, the dbus-daemon evaluated its security policy, decided that it would not deliver the message to S1, and constructed an AccessDenied error.  Instead of sending that AccessDenied error reply to C1 as a reply to the denied message, dbus-daemon incorrectly sent it to S1 as a reply to the request to obtain its well-known bus name.  This would cause S1 to fail to initialize and exit, denying service to other legitimate clients of S1.

As well, this opens up the possibility of a side channel where, in an environment where C1 and S1 are untrusted and were administratively prohibited from communicating, S1 could use these incorrectly-directed error messages as a side channel to receive information from C1.  This scenario is only really relevant on systems where an LSM such as SELinux was used in a highly restrictive configuration, because in practice a system bus could typically communicate in other ways (such as non-D-Bus IPC mechanisms, files in /tmp, etc.).


Acknowledgements:

Red Hat would like to thank D-Bus upstream for reporting this issue.  Upstream acknowledges Alban Crequy of Collabora Ltd. as the original reporter.
Comment 1 Vincent Danen 2014-06-04 13:17:47 EDT
Created attachment 902257 [details]
upstream patch
Comment 3 Vincent Danen 2014-06-04 21:20:26 EDT
Upstream has noted that this affects dbus as far back as 1.0.
Comment 4 Murray McAllister 2014-06-10 20:02:56 EDT
This issue is public now:

http://www.openwall.com/lists/oss-security/2014/06/10/2
http://cgit.freedesktop.org/dbus/dbus/commit/?h=dbus-1.8&id=24c590703ca47eb71ddef453de43126b90954567

It has been fixed in upstream versions 1.8.4 and 1.6.20.
Comment 5 Murray McAllister 2014-06-10 20:05:22 EDT
Created dbus tracking bugs for this issue:

Affects: fedora-all [bug 1107886]
Comment 6 Francisco Alonso 2014-07-08 11:01:30 EDT
Created mingw-dbus tracking bugs for this issue:

Affects: fedora-all [bug 1117395]
Comment 10 Francisco Alonso 2014-07-21 11:10:46 EDT
Statement:

This issue affect the dbus package in Red Hat Enterprise Linux 5, 6, 7. Red Hat Product Security has rated this issue as having Moderate security impact, a future update my address this flaw in Red Hat Enterprise Linux 6 and 7. This issue is not planned to be fixed in Red Hat Enterprise Linux 5 as it is now in Production 3 Phase of the support and maintenance life cycle, https://access.redhat.com/support/policy/updates/errata/

Note You need to log in before you can comment on or make changes to this bug.