Bug 1828809

Summary: SELinux prevents the sysadm_u processes from D-bus talk to accounts-daemon
Product: Red Hat Enterprise Linux 8 Reporter: Milos Malik <mmalik>
Component: selinux-policyAssignee: Zdenek Pytela <zpytela>
Status: CLOSED ERRATA QA Contact: Milos Malik <mmalik>
Severity: medium Docs Contact:
Priority: medium    
Version: 8.2CC: lvrabec, mmalik, plautrba, ssekidde
Target Milestone: rcKeywords: AutoVerified, Triaged
Target Release: 8.3   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: No Doc Update
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-11-04 01:56:37 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: 1778780    

Description Milos Malik 2020-04-28 11:55:47 UTC
Description of problem:

Version-Release number of selected component (if applicable):
accountsservice-0.6.50-8.el8.x86_64
accountsservice-libs-0.6.50-8.el8.x86_64
selinux-policy-3.14.3-43.el8.noarch
selinux-policy-devel-3.14.3-43.el8.noarch
selinux-policy-doc-3.14.3-43.el8.noarch
selinux-policy-minimum-3.14.3-43.el8.noarch
selinux-policy-mls-3.14.3-43.el8.noarch
selinux-policy-sandbox-3.14.3-43.el8.noarch
selinux-policy-targeted-3.14.3-43.el8.noarch

How reproducible:
 * always

Steps to Reproduce:
1. get a RHEL-8.2 machine (targeted policy is active)
2. create a sysadm_u user
3. enable the xdm_sysadm_login boolean
4. log into X session as the sysadm_u user
5. click on Account Settings in the menu

Actual results (enforcing mode):
----
type=USER_AVC msg=audit(04/28/2020 13:48:04.224:1036) : pid=1044 uid=dbus auid=unset ses=unset subj=system_u:system_r:system_dbusd_t:s0-s0:c0.c1023 msg='avc:  denied  { send_msg } for msgtype=method_call interface=org.freedesktop.Accounts member=FindUserById dest=:1.1385 spid=15451 tpid=8747 scontext=sysadm_u:sysadm_r:sysadm_t:s0-s0:c0.c1023 tcontext=system_u:system_r:accountsd_t:s0 tclass=dbus permissive=0  exe=/usr/bin/dbus-daemon sauid=dbus hostname=? addr=? terminal=?' 
----
type=USER_AVC msg=audit(04/28/2020 13:48:09.130:1039) : pid=1044 uid=dbus auid=unset ses=unset subj=system_u:system_r:system_dbusd_t:s0-s0:c0.c1023 msg='avc:  denied  { send_msg } for msgtype=method_call interface=org.freedesktop.Accounts member=ListCachedUsers dest=:1.1385 spid=15451 tpid=8747 scontext=sysadm_u:sysadm_r:sysadm_t:s0-s0:c0.c1023 tcontext=system_u:system_r:accountsd_t:s0 tclass=dbus permissive=0  exe=/usr/bin/dbus-daemon sauid=dbus hostname=? addr=? terminal=?' 
----

Expected results:
 * no SELinux denials

Comment 1 Zdenek Pytela 2020-04-28 13:56:50 UTC
Milosi,

Apart from the denial, was there any problem or did the action continue?

These are rules we currently have in RHEL 8 for user domains:

rhel8# sesearch -A -s userdomain -t accountsd_t -c dbus -p send_msg
allow dbusd_unconfined nsswitch_domain:dbus send_msg;
allow dbusd_unconfined system_bus_type:dbus send_msg;
allow staff_usertype accountsd_t:dbus send_msg;
allow unconfined_t accountsd_t:dbus send_msg;
allow unconfined_t system_bus_type:dbus send_msg;
allow user_usertype accountsd_t:dbus send_msg;
allow xguest_usertype accountsd_t:dbus send_msg;
rhel8# sesearch --dontaudit -s userdomain -t accountsd_t -c dbus -p send_msg
dontaudit xguest_t system_bus_type:dbus send_msg;

Comment 2 Milos Malik 2020-04-28 14:24:47 UTC
The X session worked fine for the sysadm_u user. There were 2 additional denials related to gnome-keyring-daemon and gsd-rfkill, but that's all.

Comment 4 Zdenek Pytela 2020-06-24 16:30:43 UTC
I've submitted a Fedora PR to address the issue:
https://github.com/fedora-selinux/selinux-policy/pull/384

Comment 12 errata-xmlrpc 2020-11-04 01:56:37 UTC
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 (selinux-policy bug fix and enhancement update), 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://access.redhat.com/errata/RHBA-2020:4528