Bug 1364485
| Summary: | dbus doesn't resolve SELinux classes and permission correctly | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 7 | Reporter: | Petr Lautrbach <plautrba> |
| Component: | dbus | Assignee: | David King <dking> |
| Status: | CLOSED ERRATA | QA Contact: | Desktop QE <desktop-qa-list> |
| Severity: | high | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 7.3 | CC: | lvrabec, mcepl, mmalik, szidek, tpelka |
| Target Milestone: | rc | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | dbus-1.6.12-15.el7 | Doc Type: | If docs needed, set a value |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2016-11-04 06:41:21 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| Bug Depends On: | |||
| Bug Blocks: | 1362273, 1363977, 1363989 | ||
I have the backported patch and MLS changes ready to go. *** Bug 1362655 has been marked as a duplicate of this bug. *** *** Bug 1328014 has been marked as a duplicate of this bug. *** With dbus-1.6.12-16.el7.x86_64 mitmanek:~# service ModemManager restart Redirecting to /bin/systemctl restart ModemManager.service mitmanek:~# ausearch -m user_avc -ts recent <no matches> mitmanek:~# Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHBA-2016-2453.html |
Description of problem: The current version of DBUS in rhel-7.3 uses constants from selinux/flask.h. This is a deprecated method and it doesn't work correctly with the rebased SELinux userspace in RHEL-7.3. DBUS generates audit messages with untranslated classes and permissions like: type=USER_AVC msg=audit(08/04/2016 10:24:46.713:367) : pid=549 uid=dbus auid=unset ses=unset subj=system_u:system_r:system_dbusd_t:s0-s0:c0.c1023 msg='avc: denied { 0x2 } for msgtype=method_return dest=:1.95 spid=699 tpid=18677 scontext=system_u:system_r:NetworkManager_t:s0 tcontext=system_u:system_r:puppetagent_t:s0 tclass=(null) exe=/usr/bin/dbus-daemon sauid=dbus hostname=? addr=? terminal=?' To ensure that classes and permissions are translated correctly, bus/selinux.c should use selinux_set_mapping() instead of constants from selinux/flask.h as it's already fixed upstream in https://cgit.freedesktop.org/dbus/dbus/commit/bus/selinux.c?id=ba088208bc0c35ca418a097a8482c4a7705f4a43 Since the upstream doesn't use dbus-1.6.12-mls-listnames.patch, this patch needs to be changed as well. Steps to Reproduce: 1. run 'service ModemManager restart' 2. check /var/log/audit/audit.log or use 'ausearch -m user_avc -ts recent' Actual results: type=USER_AVC msg=audit(1470403659.361:109): pid=451 uid=81 auid=4294967295 ses=4294967295 subj=system_u:system_r:system_dbusd_t:s0-s0:c0.c1023 msg='avc: denied { 0x2 } for msgtype=method_call interface=org.freedesktop.login1.Manager member=Inhibit dest=:1.1 spid=921 tpid=450 scontext=system_u:system_r:modemmanager_t:s0 tcontext=system_u:system_r:systemd_logind_t:s0 tclass=(null) exe="/usr/bin/dbus-daemon" sauid=81 hostname=? addr=? terminal=?' Expected results: type=USER_AVC msg=audit(1470403659.361:109): pid=451 uid=81 auid=4294967295 ses=4294967295 subj=system_u:system_r:system_dbusd_t:s0-s0:c0.c1023 msg='avc: denied { send_msg } for msgtype=method_call interface=org.freedesktop.login1.Manager member=Inhibit dest=:1.1 spid=921 tpid=450 scontext=system_u:system_r:modemmanager_t:s0 tcontext=system_u:system_r:systemd_logind_t:s0 tclass=dbus exe="/usr/bin/dbus-daemon" sauid=81 hostname=? addr=? terminal=?'