Bug 536688

Summary: SELinux is preventing /usr/bin/desktop-effects from making the program stack executable.
Product: [Fedora] Fedora Reporter: Lawrence Graves <lgraves>
Component: selinux-policyAssignee: Daniel Walsh <dwalsh>
Status: CLOSED DUPLICATE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: 12CC: bugzilla_rhn, dwalsh, fade, hameed.shahul, mgrepl, unix63
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard: setroubleshoot_trace_hash:5e77dd48ac5555a10163138b4f7d70a5e5135f0c363da03d98e006fb6a71c0fc
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-11-11 09:18:26 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 Lawrence Graves 2009-11-10 22:44:51 UTC
Summary:

SELinux is preventing /usr/bin/desktop-effects from making the program stack
executable.

Detailed Description:

The desktop-effects application attempted to make its stack executable. This is
a potential security problem. This should never ever be necessary. Stack memory
is not executable on most OSes these days and this will not change. Executable
stack memory is one of the biggest security problems. An execstack error might
in fact be most likely raised by malicious code. Applications are sometimes
coded incorrectly and request this permission. The SELinux Memory Protection
Tests (http://people.redhat.com/drepper/selinux-mem.html) web page explains how
to remove this requirement. If desktop-effects does not work and you need it to
work, you can configure SELinux temporarily to allow this access until the
application is fixed. Please file a bug report.

Allowing Access:

Sometimes a library is accidentally marked with the execstack flag, if you find
a library with this flag you can clear it with the execstack -c LIBRARY_PATH.
Then retry your application. If the app continues to not work, you can turn the
flag back on with execstack -s LIBRARY_PATH. Otherwise, if you trust
desktop-effects to run correctly, you can change the context of the executable
to execmem_exec_t. "chcon -t execmem_exec_t '/usr/bin/desktop-effects'" You must
also change the default file context files on the system in order to preserve
them even on a full relabel. "semanage fcontext -a -t execmem_exec_t
'/usr/bin/desktop-effects'"

Fix Command:

chcon -t execmem_exec_t '/usr/bin/desktop-effects'

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                None [ process ]
Source                        desktop-effects
Source Path                   /usr/bin/desktop-effects
Port                          <Unknown>
Host                          (removed)
Source RPM Packages           desktop-effects-0.8.4-2.fc12
Target RPM Packages           
Policy RPM                    selinux-policy-3.6.32-41.fc12
Selinux Enabled               True
Policy Type                   targeted
MLS Enabled                   True
Enforcing Mode                Enforcing
Plugin Name                   allow_execstack
Host Name                     (removed)
Platform                      Linux (removed) 2.6.31.5-127.fc12.x86_64
                              #1 SMP Sat Nov 7 21:11:14 EST 2009 x86_64 x86_64
Alert Count                   1
First Seen                    Tue 10 Nov 2009 03:40:58 PM MST
Last Seen                     Tue 10 Nov 2009 03:40:58 PM MST
Local ID                      e32f5692-b091-4e80-a278-881841629287
Line Numbers                  

Raw Audit Messages            

node=(removed) type=AVC msg=audit(1257892858.191:56): avc:  denied  { execstack } for  pid=4825 comm="desktop-effects" scontext=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 tcontext=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 tclass=process

node=(removed) type=SYSCALL msg=audit(1257892858.191:56): arch=c000003e syscall=10 success=no exit=-13 a0=7fffc6116000 a1=1000 a2=1000007 a3=7fc3634ceaeb items=0 ppid=1 pid=4825 auid=500 uid=500 gid=500 euid=500 suid=500 fsuid=500 egid=500 sgid=500 fsgid=500 tty=(none) ses=1 comm="desktop-effects" exe="/usr/bin/desktop-effects" subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 key=(null)



Hash String generated from  selinux-policy-3.6.32-41.fc12,allow_execstack,desktop-effects,unconfined_t,unconfined_t,process,execstack
audit2allow suggests:

#============= unconfined_t ==============
allow unconfined_t self:process execstack;

Comment 1 Miroslav Grepl 2009-11-11 09:18:26 UTC
Are you using nvidia drivers? If yes then you need to set the allow_execstack boolean.

setsebool -P allow_execstack 1

Comment 2 Daniel Walsh 2009-11-11 14:45:57 UTC

*** This bug has been marked as a duplicate of bug 533987 ***

Comment 3 Daniel Walsh 2009-11-11 14:46:35 UTC
Miroslav, I have created an alias called allowexecstack that you can close bugs like this against.