Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.

Bug 1520033

Summary: systemd containers now cause AVC denials about init_t and container_file_t
Product: [Fedora] Fedora Reporter: Jan Pazdziora <jpazdziora>
Component: selinux-policyAssignee: Lukas Vrabec <lvrabec>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 27CC: adimania, admiller, amurdaca, dwalsh, fkluknav, ichavero, jcajka, jpazdziora, lsm5, lvrabec, marianne, mgrepl, nalin, plautrba, pmoore, santiago, vbatts
Target Milestone: ---Keywords: Regression
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: selinux-policy-3.13.1-283.19.fc27 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-01-02 16:47:16 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 Jan Pazdziora 2017-12-02 10:12:00 UTC
Description of problem:

Running fedora:25 systemd container now produces AVC denials during removal and start.

Version-Release number of selected component (if applicable):

container-selinux-2.29-1.fc27.noarch
docker-1.13.1-42.git4402c09.fc27.x86_64
oci-systemd-hook-0.1.13-1.gitafe4b4a.fc27.x86_64

but also versions from updates-testing:

container-selinux-2.36-1.fc27.noarch
docker-1.13.1-44.git584d391.fc27.x86_64
oci-systemd-hook-0.1.13-1.gitafe4b4a.fc27.x86_64

How reproducible:

Deterministic.

Steps to Reproduce:
1. setsebool -P container_manage_cgroup 1
2. systemctl start docker
3. docker pull registry.fedoraproject.org/fedora:25
4. docker run -e container=docker --name=systemd -d registry.fedoraproject.org/fedora:25 /usr/sbin/init
5. sleep 20 ; docker exec systemd systemctl
6. docker rm -f systemd
7. docker run -e container=docker --name=systemd -d registry.fedoraproject.org/fedora:25 /usr/sbin/init
8. sleep 20 ; docker exec systemd systemctl

Actual results:

No AVC denial with the first docker run.

The docker rm produces

type=AVC msg=audit(1512207018.002:188): avc:  denied  { rmdir } for  pid=1 comm="systemd" name="docker-0f00ae777aede773366c88bea8deb2564d01dc8d96130578e8149dbf9996d25d.scope" dev="cgroup" ino=356 scontext=system_u:system_r:init_t:s0 tcontext=system_u:object_r:container_file_t:s0:c518,c803 tclass=dir permissive=0

The second docker run produces

type=AVC msg=audit(1512207025.627:194): avc:  denied  { create } for  pid=1 comm="systemd" name="docker-b10ae8cc4f22d4191eba53d3a7edb564605a9fe0de91295490f7cc0219406813.scope" scontext=system_u:system_r:init_t:s0 tcontext=system_u:object_r:container_file_t:s0:c518,c803 tclass=dir permissive=0

type=AVC msg=audit(1512207025.630:195): avc:  denied  { create } for  pid=1 comm="systemd" name="var-lib-docker-devicemapper-mnt-c8418060b6c066f20a36380afad76fca47839f1dc4fac066db8a56d4e151f0a3.mount" scontext=system_u:system_r:init_t:s0 tcontext=system_u:object_r:container_file_t:s0:c518,c803 tclass=dir permissive=0

type=AVC msg=audit(1512207025.631:196): avc:  denied  { create } for  pid=1 comm="systemd" name="var-lib-docker-containers-b10ae8cc4f22d4191eba53d3a7edb564605a9fe0de91295490f7cc0219406813-shm.mount" scontext=system_u:system_r:init_t:s0 tcontext=system_u:object_r:container_file_t:s0:c518,c803 tclass=dir permissive=0

Expected results:

No AVC denials at all.

Additional info:

The docker exec systemd systemctl calls show that the containers and systemd in them are actually running fine.

Comment 1 Jan Pazdziora 2017-12-02 12:14:49 UTC
I see the same results when using fedora:26 or fedora:27 images.

OTOH, I don't see any AVC denials when running on Fedora 26, updates-testing or not.

Comment 4 Daniel Walsh 2017-12-04 12:39:55 UTC
Jan could you make sure that oci-systemd-hook did not do something nuts like relabling all of /sys/fs/cgroup

 find /sys/fs/cgroup/ -printf "%P %Z\n" | grep container_file_t

Comment 5 Jan Pazdziora 2017-12-05 07:34:51 UTC
I can see

systemd/system.slice system_u:object_r:container_file_t:s0:c173,c340
systemd/system.slice/docker-containerd.service system_u:object_r:container_file_t:s0:c173,c340
systemd/system.slice/docker-containerd.service/cgroup.clone_children system_u:object_r:container_file_t:s0:c173,c340
systemd/system.slice/docker-containerd.service/tasks system_u:object_r:container_file_t:s0:c173,c340
systemd/system.slice/docker-containerd.service/notify_on_release system_u:object_r:container_file_t:s0:c173,c340
systemd/system.slice/docker-containerd.service/cgroup.procs system_u:object_r:container_file_t:s0:c173,c340

Comment 7 Lukas Vrabec 2017-12-11 17:04:55 UTC
Fix will be part of next selinux-policy build. 

Thank you Dan for PR.

Comment 8 Fedora Update System 2017-12-13 08:25:13 UTC
selinux-policy-3.13.1-283.18.fc27 has been submitted as an update to Fedora 27. https://bodhi.fedoraproject.org/updates/FEDORA-2017-8225c4e502

Comment 9 Fedora Update System 2017-12-14 11:11:25 UTC
selinux-policy-3.13.1-283.18.fc27 has been pushed to the Fedora 27 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-8225c4e502

Comment 11 Fedora Update System 2017-12-20 11:23:00 UTC
selinux-policy-3.13.1-283.19.fc27 has been submitted as an update to Fedora 27. https://bodhi.fedoraproject.org/updates/FEDORA-2017-8225c4e502

Comment 12 Fedora Update System 2017-12-21 20:20:30 UTC
selinux-policy-3.13.1-283.19.fc27 has been pushed to the Fedora 27 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-8225c4e502

Comment 13 Fedora Update System 2018-01-02 16:47:16 UTC
selinux-policy-3.13.1-283.19.fc27 has been pushed to the Fedora 27 stable repository. If problems still persist, please make note of it in this bug report.