Bug 604477

Summary: SELinux is preventing /usr/bin/guitarix from loading /usr/lib/libzita-convolver.so.2.0.0 which requires text relocation.
Product: [Fedora] Fedora Reporter: Geoff King <gsking1>
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:2273de0623d93f674d837963f347d8c0080addc0f74187cbff442185100efc71
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-06-16 10:00:11 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 Geoff King 2010-06-16 02:11:16 UTC
Summary:

SELinux is preventing /usr/bin/guitarix from loading
/usr/lib/libzita-convolver.so.2.0.0 which requires text relocation.

Detailed Description:

The guitarix application attempted to load /usr/lib/libzita-convolver.so.2.0.0
which requires text relocation. This is a potential security problem. Most
libraries do not need this permission. Libraries 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. You can configure SELinux temporarily to allow
/usr/lib/libzita-convolver.so.2.0.0 to use relocation as a workaround, until the
library is fixed. Please file a bug report.

Allowing Access:

If you trust /usr/lib/libzita-convolver.so.2.0.0 to run correctly, you can
change the file context to textrel_shlib_t. "chcon -t textrel_shlib_t
'/usr/lib/libzita-convolver.so.2.0.0'" 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 textrel_shlib_t '/usr/lib/libzita-convolver.so.2.0.0'"

Fix Command:

chcon -t textrel_shlib_t '/usr/lib/libzita-convolver.so.2.0.0'

Additional Information:

Source Context                unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1
                              023
Target Context                system_u:object_r:lib_t:s0
Target Objects                /usr/lib/libzita-convolver.so.2.0.0 [ file ]
Source                        jconvolver
Source Path                   /usr/bin/jconvolver
Port                          <Unknown>
Host                          (removed)
Source RPM Packages           guitarix-0.08.0-1.fc12
Target RPM Packages           zita-convolver-2.0.0-1.1.fc12.ccrma
Policy RPM                    selinux-policy-3.6.32-116.fc12
Selinux Enabled               True
Policy Type                   targeted
Enforcing Mode                Enforcing
Plugin Name                   allow_execmod
Host Name                     (removed)
Platform                      Linux (removed) 2.6.32.14-127.fc12.i686 #1 SMP
                              Fri May 28 05:04:10 UTC 2010 i686 i686
Alert Count                   5
First Seen                    Sat 10 Apr 2010 08:56:40 PM EDT
Last Seen                     Tue 15 Jun 2010 09:59:06 PM EDT
Local ID                      96bd991d-c7f7-4472-aeb0-b03344fda1ea
Line Numbers                  

Raw Audit Messages            

node=(removed) type=AVC msg=audit(1276653546.588:27048): avc:  denied  { execmod } for  pid=2778 comm="guitarix" path="/usr/lib/libzita-convolver.so.2.0.0" dev=dm-0 ino=88877 scontext=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 tcontext=system_u:object_r:lib_t:s0 tclass=file

node=(removed) type=SYSCALL msg=audit(1276653546.588:27048): arch=40000003 syscall=125 success=no exit=-13 a0=8f3000 a1=5000 a2=5 a3=bfbb69f0 items=0 ppid=1 pid=2778 auid=500 uid=500 gid=500 euid=500 suid=500 fsuid=500 egid=500 sgid=500 fsgid=500 tty=(none) ses=1 comm="guitarix" exe="/usr/bin/guitarix" subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 key=(null)



Hash String generated from  allow_execmod,jconvolver,unconfined_t,lib_t,file,execmod
audit2allow suggests:

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

allow unconfined_t lib_t:file execmod;

Comment 1 Miroslav Grepl 2010-06-16 10:00:11 UTC
Execute:

chcon -t textrel_shlib_t '/usr/lib/libzita-convolver.so.2.0.0'


To make this permanent:

semanage fcontext -a -t textrel_shlib_t '/usr/lib/libzita-convolver.so.2.0.0