Bug 769352

Summary: SELinux prevents qpidd (qpidd_t) from search operation on /sys (sysfs_t) directory
Product: Red Hat Enterprise Linux 6 Reporter: Frantisek Reznicek <freznice>
Component: selinux-policyAssignee: Miroslav Grepl <mgrepl>
Status: CLOSED ERRATA QA Contact: Frantisek Reznicek <freznice>
Severity: high Docs Contact:
Priority: high    
Version: 6.2CC: dwalsh, esammons, iboverma, jneedle, jpallich, jross, ksrot, mmalik, msvoboda, pmoravec, sgraf
Target Milestone: rcKeywords: ZStream
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: selinux-policy-3.7.19-136.el6 Doc Type: Bug Fix
Doc Text:
An incorrect SELinux policy prevented the qpidd service from starting. These selinux-policy packages contain updated SELinux rules, which allow the qpidd service to be started correctly.
Story Points: ---
Clone Of: 691654
: 784337 (view as bug list) Environment:
Last Closed: 2012-06-20 12:30:03 UTC Type: ---
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: 691654    
Bug Blocks: 784337, 786088    
Attachments:
Description Flags
Issue reproducer and logs
none
Test logs from test rerun using latest selinux-policy-3.7.19-135.el6 none

Comment 1 Miroslav Grepl 2011-12-20 15:12:31 UTC
I added fixes to Fedora16. Will backport.

Comment 8 Justin Ross 2012-01-23 20:33:32 UTC
*** Bug 691654 has been marked as a duplicate of this bug. ***

Comment 9 Frantisek Reznicek 2012-01-24 10:09:09 UTC
Created attachment 557180 [details]
Issue reproducer and logs

Retested using following policies on RHEL 6.2 x86_64:
  selinux-policy-3.7.19-126
  selinux-policy-3.7.19-134


selinux-policy-3.7.19-126 suffers from original problem.
selinux-policy-3.7.19-134 suffers from very similar problem with denying search "/" from dev=tmpfs :

type=AVC msg=audit(1327398388.174:4557): avc:  denied  { search } for  pid=27704 comm="qpidd" name="/" dev=tmpfs ino=5271 scontext=unconfined_u:system_r:qpidd_t:s0 tcontext=system_u:object_r:tmpfs_t:s0 tclass=dir

The problem seems pushed slightly further but neither of above selinux policies fix the problem. (selinux still blocks qpidd from start)

See attached reproducer and logs showing the issue.

-> ASSIGNED

Comment 10 Miroslav Grepl 2012-01-24 13:21:28 UTC
Yes, tmpfs_t issues need to be fixed.

Comment 11 Miroslav Grepl 2012-01-25 16:18:38 UTC
Frantisek,
could you test it with the latest build

selinux-policy-3.7.19-135.el6

which is available from brew.

Comment 12 Frantisek Reznicek 2012-01-25 16:53:56 UTC
Created attachment 557483 [details]
Test logs from test rerun using latest selinux-policy-3.7.19-135.el6

Retested on selinux-policy-3.7.19-135.el6 as requested on RHEL 6.2 i686 / x86_64.

The improvement is significant but the result is still the same, clustered broker is blocked at startup by selinux.
Standalone broker (broker w/o clustering) is now working as expected.

Current issues are:

AVCs in Permissive mode
 type=AVC msg=audit(1327509632.069:1642): avc:  denied  { read write } for  pid=10384 comm="corosync" name="control_buffer-RpzE
bi" dev=tmpfs ino=50276 scontext=unconfined_u:system_r:corosync_t:s0 tcontext=unconfined_u:object_r:qpidd_tmpfs_t:s0 tclass=file
  type=AVC msg=audit(1327509632.069:1642): avc:  denied  { open } for  pid=10384 comm="corosync" name="control_buffer-RpzEbi" de
v=tmpfs ino=50276 scontext=unconfined_u:system_r:corosync_t:s0 tcontext=unconfined_u:object_r:qpidd_tmpfs_t:s0 tclass=file
  type=AVC msg=audit(1327509632.069:1643): avc:  denied  { unlink } for  pid=10384 comm="corosync" name="control_buffer-RpzEbi"
dev=tmpfs ino=50276 scontext=unconfined_u:system_r:corosync_t:s0 tcontext=unconfined_u:object_r:qpidd_tmpfs_t:s0 tclass=file

AVCs in Enforcing mode

  type=AVC msg=audit(1327509638.404:1675): avc:  denied  { read write } for  pid=10620 comm="corosync" name="control_buffer-v6U6
81" dev=tmpfs ino=51004 scontext=unconfined_u:system_r:corosync_t:s0 tcontext=unconfined_u:object_r:qpidd_tmpfs_t:s0 tclass=file
  type=AVC msg=audit(1327509638.404:1676): avc:  denied  { unlink } for  pid=10620 comm="corosync" name="control_buffer-v6U681"
dev=tmpfs ino=51004 scontext=unconfined_u:system_r:corosync_t:s0 tcontext=unconfined_u:object_r:qpidd_tmpfs_t:s0 tclass=file



See more details in attached logs.

Comment 13 Miroslav Grepl 2012-01-25 17:05:32 UTC
well, these are different AVC msgs. Going to fix them.

Comment 14 Frantisek Reznicek 2012-01-25 17:22:14 UTC
(In reply to comment #13)
> well, these are different AVC msgs. Going to fix them.

Let me know if you need extra BZ for tracking them (assuming you are fine with solving them in the current one).

Comment 15 Miroslav Grepl 2012-01-25 18:03:46 UTC
This BZ is fine.

Comment 16 Frantisek Reznicek 2012-01-26 16:37:40 UTC
The issues has been fixed in selinux-policy-3.7.19-136.el6, tested on RHEL6.2 i686 / x86_64.

Comment 27 Frantisek Reznicek 2012-02-01 14:21:38 UTC
The issue is fixed with selinux-policy-3.7.19-136.el6, retested on
RHEL6.3-20120201.n.0 i686 / x86_64 / s390x / ppc64.

Another found AVC detected is tracked separately as bug 786467.

-> VERIFIED

Comment 28 Miroslav Svoboda 2012-02-13 14:50:59 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
An incorrect SELinux policy prevented the qpidd service from starting. These selinux-policy packages contain updated SELinux rules, which allow the qpidd service to be started correctly.

Comment 29 errata-xmlrpc 2012-06-20 12:30:03 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, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHBA-2012-0780.html