Bug 592556

Summary: SELinux is preventing /opt/openoffice.org3/program/soffice.bin from making the program stack executable.
Product: [Fedora] Fedora Reporter: Gianfranco Vulpiani <gianfranco.vulpiani>
Component: selinux-policyAssignee: Daniel Walsh <dwalsh>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: 12CC: dwalsh, mgrepl
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard: setroubleshoot_trace_hash:32d81b917874a60d7c9f50381eb74f3a42da93a1aabf97c8a9d0b8682c643458
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-08-19 11:31:33 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 Gianfranco Vulpiani 2010-05-15 11:37:34 UTC
Summary:

SELinux is preventing /opt/openoffice.org3/program/soffice.bin from making the
program stack executable.

Detailed Description:

The soffice.bin 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 soffice.bin 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 soffice.bin
to run correctly, you can change the context of the executable to
execmem_exec_t. "chcon -t execmem_exec_t
'/opt/openoffice.org3/program/soffice.bin'" 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
'/opt/openoffice.org3/program/soffice.bin'"

Fix Command:

chcon -t execmem_exec_t '/opt/openoffice.org3/program/soffice.bin'

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                        soffice.bin
Source Path                   /opt/openoffice.org3/program/soffice.bin
Port                          <Unknown>
Host                          (removed)
Source RPM Packages           openoffice.org3-3.2.0-9483
Target RPM Packages           
Policy RPM                    selinux-policy-3.6.32-113.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.i686 #1
                              SMP Sat Nov 7 21:41:45 EST 2009 i686 i686
Alert Count                   8
First Seen                    Sat 15 May 2010 10:55:21 AM CEST
Last Seen                     Sat 15 May 2010 01:36:12 PM CEST
Local ID                      ef8a7467-fc1e-4efd-b33a-5025578ed85f
Line Numbers                  

Raw Audit Messages            

node=(removed) type=AVC msg=audit(1273923372.630:25264): avc:  denied  { execstack } for  pid=17255 comm="soffice.bin" 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(1273923372.630:25264): arch=40000003 syscall=125 success=no exit=-13 a0=bfe4a000 a1=1000 a2=1000007 a3=bfe49c40 items=0 ppid=17245 pid=17255 auid=501 uid=501 gid=501 euid=501 suid=501 fsuid=501 egid=501 sgid=501 fsgid=501 tty=(none) ses=6 comm="soffice.bin" exe="/opt/openoffice.org3/program/soffice.bin" subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 key=(null)



Hash String generated from  selinux-policy-3.6.32-113.fc12,allow_execstack,soffice.bin,unconfined_t,unconfined_t,process,execstack
audit2allow suggests:

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

allow unconfined_t self:process execstack;

Comment 1 Daniel Walsh 2010-05-17 14:27:12 UTC
Is this the standard location for downloadable openoffice?  Why are you not using the openoffice that comes with Fedora?

chcon -t openoffice_exec_t /opt/openoffice.org3/program/*.bin


Should fix.