Bug 733930

Summary: SELinux is preventing /home/slawomir/Oolite/oolite.app/oolite from using the 'execheap' accesses on a process.
Product: [Fedora] Fedora Reporter: Slawomir Czarko <slawomir.czarko>
Component: selinux-policyAssignee: Miroslav Grepl <mgrepl>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 15CC: dominick.grift, dwalsh, mgrepl
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard: setroubleshoot_trace_hash:5f966baebbc5d0b5897182eff86e6936a420d27d82791060fa4d44eba1492220
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-08-29 08:33:18 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 Slawomir Czarko 2011-08-28 18:03:04 UTC
SELinux is preventing /home/slawomir/Oolite/oolite.app/oolite from using the 'execheap' accesses on a process.

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

If you do not think /home/slawomir/Oolite/oolite.app/oolite 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 unconfined executables to make their heap memory executable.  Doing this is a really bad idea. Probably indicates a badly coded executable, but could indicate an attack. This executable should be reported in bugzilla
Then you must tell SELinux about this by enabling the 'allow_execheap' boolean.
Do
setsebool -P allow_execheap 1

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

If you believe that oolite 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 oolite /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                Unknown [ process ]
Source                        oolite
Source Path                   /home/slawomir/Oolite/oolite.app/oolite
Port                          <Unknown>
Host                          (removed)
Source RPM Packages           
Target RPM Packages           
Policy RPM                    selinux-policy-3.9.16-35.fc15
Selinux Enabled               True
Policy Type                   targeted
Enforcing Mode                Enforcing
Host Name                     (removed)
Platform                      Linux (removed)
                              2.6.40.3-0.scw20110826.fc15.i686.PAE #1 SMP Fri
                              Aug 26 11:48:39 CEST 2011 i686 i686
Alert Count                   1
First Seen                    Sun 28 Aug 2011 07:58:48 PM CEST
Last Seen                     Sun 28 Aug 2011 07:58:48 PM CEST
Local ID                      da3c3507-8cd6-4498-bff5-91cf49127a83

Raw Audit Messages
type=AVC msg=audit(1314554328.505:1068): avc:  denied  { execheap } for  pid=28188 comm="oolite" 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(1314554328.505:1068): arch=i386 syscall=mprotect success=no exit=EACCES a0=a011000 a1=1000 a2=7 a3=a011000 items=0 ppid=28183 pid=28188 auid=2026 uid=2026 gid=2027 euid=2026 suid=2026 fsuid=2026 egid=2027 sgid=2027 fsgid=2027 tty=pts1 ses=1 comm=oolite exe=/home/slawomir/Oolite/oolite.app/oolite subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 key=(null)

Hash: oolite,unconfined_t,unconfined_t,process,execheap

audit2allow

#============= unconfined_t ==============
#!!!! This avc can be allowed using the boolean 'allow_execheap'

allow unconfined_t self:process execheap;

audit2allow -R

#============= unconfined_t ==============
#!!!! This avc can be allowed using the boolean 'allow_execheap'

allow unconfined_t self:process execheap;

Comment 1 Miroslav Grepl 2011-08-29 08:33:18 UTC
The plugin tells you what to do.

# setsebool -P allow_execheap 1

if you want to allow this access.