Bug 1151555
Summary: | corosync running in wrong context | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 7 | Reporter: | Nate Straz <nstraz> |
Component: | selinux-policy | Assignee: | Miroslav Grepl <mgrepl> |
Status: | CLOSED ERRATA | QA Contact: | Dalibor Pospíšil <dapospis> |
Severity: | high | Docs Contact: | |
Priority: | high | ||
Version: | 7.1 | CC: | cluster-qe, dapospis, mmalik |
Target Milestone: | rc | Keywords: | Regression, TestBlocker |
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | selinux-policy-3.13.1-5.el7 | Doc Type: | Bug Fix |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2015-03-05 10:45:54 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: |
Description
Nate Straz
2014-10-10 16:46:18 UTC
Oops, the affected version is selinux-policy-3.13.1-4.el7.noarch Hopefully, my analysis is correct: # grep -i exec /lib/systemd/system/corosync.service ExecStart=/usr/share/corosync/corosync start ExecStop=/usr/share/corosync/corosync stop #ExecStartPre=/sbin/modprobe softdog soft_margin=60 The systemd unit file does not execute /usr/sbin/corosync directly, but through another script: # matchpathcon /usr/share/corosync/corosync /usr/share/corosync/corosync system_u:object_r:usr_t:s0 And here comes the default behavior introduced by policy >= 3.13: # sesearch -s init_t -t usr_t -c process -T Found 1 semantic te rules: type_transition init_t usr_t : process unconfined_service_t; # sesearch -s init_t -t bin_t -c process -T Found 1 semantic te rules: type_transition init_t bin_t : process unconfined_service_t; # Once the /usr/share/corosync/corosync file is executed, the process does a transition into unconfined_service_t and the only way how to leave this context is following: # sesearch -s unconfined_service_t -c process -T Found 1 semantic te rules: type_transition unconfined_service_t abrt_helper_exec_t : process abrt_helper_t; # This is of course unpleasant behavior, because services / daemons / agents which are already confined should not end up running as unconfined_service_t. The problem is they don't tell us that they change a path to executable.commit 934b567837f2b089db76f440d90b48f01824086b Author: Miroslav Grepl <mgrepl> Date: Mon Oct 13 11:07:57 2014 +0200 Label /usr/share/corosync/corosync as cluster_exec_t. 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-2015-0458.html |