Bug 1015758

Summary: SELinux is preventing /home/mikhail/.local/share/Steam/SteamApps/common/dota 2 beta/dota_linux from using the 'execheap' accesses on a process.
Product: [Fedora] Fedora Reporter: Mikhail <mikhail.v.gavrilov>
Component: selinux-policyAssignee: Miroslav Grepl <mgrepl>
Status: CLOSED CANTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 20CC: dominick.grift, dwalsh, lvrabec, mgrepl
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Unspecified   
Whiteboard: abrt_hash:2965a1f7cfd51103b0a7557b55aeac4bae63564f4a77f3d4774af6887c262a4a
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-10-07 13:24:56 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:

Description Mikhail 2013-10-05 07:15:18 UTC
Description of problem:
SELinux is preventing /home/mikhail/.local/share/Steam/SteamApps/common/dota 2 beta/dota_linux from using the 'execheap' accesses on a process.

*****  Plugin allow_execheap (53.1 confidence) suggests   ********************

If you do not think /home/mikhail/.local/share/Steam/SteamApps/common/dota 2 beta/dota_linux should need to map heap memory that is both writable and executable.
Then you need to report a bug. This is a potentially dangerous access.
Do
contact your security administrator and report this issue.

*****  Plugin catchall_boolean (42.6 confidence) suggests   ******************

If you want to allow selinuxuser to execheap
Then you must tell SELinux about this by enabling the 'selinuxuser_execheap' boolean.
You can read 'None' man page for more details.
Do
setsebool -P selinuxuser_execheap 1

*****  Plugin catchall (5.76 confidence) suggests   **************************

If you believe that dota_linux should be allowed execheap access on processes labeled unconfined_t by default.
Then you should report this as a bug.
You can generate a local policy module to allow this access.
Do
allow this access for now by executing:
# grep dota_linux /var/log/audit/audit.log | audit2allow -M mypol
# semodule -i mypol.pp

Additional Information:
Source Context                unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1
                              023
Target Context                unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1
                              023
Target Objects                 [ process ]
Source                        dota_linux
Source Path                   /home/mikhail/.local/share/Steam/SteamApps/common/
                              dota 2 beta/dota_linux
Port                          <Unknown>
Host                          (removed)
Source RPM Packages           
Target RPM Packages           
Policy RPM                    selinux-policy-3.12.1-84.fc20.noarch
Selinux Enabled               True
Policy Type                   targeted
Enforcing Mode                Enforcing
Host Name                     (removed)
Platform                      Linux (removed) 3.11.3-301.fc20.x86_64 #1 SMP Thu
                              Oct 3 00:57:21 UTC 2013 x86_64 x86_64
Alert Count                   2
First Seen                    2013-10-05 13:12:05 YEKT
Last Seen                     2013-10-05 13:14:10 YEKT
Local ID                      0f2bc8ec-dd6f-4bb4-a7e1-38001b481de4

Raw Audit Messages
type=AVC msg=audit(1380957250.495:508): avc:  denied  { execheap } for  pid=5615 comm="hl2_linux" scontext=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 tcontext=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 tclass=process


type=SYSCALL msg=audit(1380957250.495:508): arch=i386 syscall=capget success=no exit=EACCES a0=8a41000 a1=c000 a2=7 a3=ffd6516c items=0 ppid=5612 pid=5615 auid=1000 uid=1000 gid=1000 euid=1000 suid=1000 fsuid=1000 egid=1000 sgid=1000 fsgid=1000 ses=1 tty=pts2 comm=hl2_linux exe=/home/mikhail/.local/share/Steam/SteamApps/common/Portal/hl2_linux subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 key=(null)

Hash: dota_linux,unconfined_t,unconfined_t,process,execheap

Additional info:
reporter:       libreport-2.1.7
hashmarkername: setroubleshoot
kernel:         3.11.3-301.fc20.x86_64
type:           libreport

Potential duplicate: bug 995823

Comment 1 Daniel Walsh 2013-10-07 13:24:56 UTC
*****  Plugin allow_execheap (53.1 confidence) suggests   ********************

If you do not think /home/mikhail/.local/share/Steam/SteamApps/common/dota 2 beta/dota_linux should need to map heap memory that is both writable and executable.
Then you need to report a bug. This is a potentially dangerous access.
Do
contact your security administrator and report this issue.

*****  Plugin catchall_boolean (42.6 confidence) suggests   ******************

If you want to allow selinuxuser to execheap
Then you must tell SELinux about this by enabling the 'selinuxuser_execheap' boolean.
You can read 'None' man page for more details.
Do
setsebool -P selinuxuser_execheap 1


The alert told you what to do.  Basically games do some nasty stuff but if you want to play them you need to turn off the SELinux controls.

# setsebool -P selinuxuser_execheap 1