Bug 593036

Summary: SELinux is preventing /usr/lib/firefox-3.6/firefox from loading /home/kristjan/.quakelive/quakelive/home/baseq3/quakelive.i386.so which requires text relocation.
Product: [Fedora] Fedora Reporter: k.t. <cooling.crystals>
Component: selinux-policyAssignee: Daniel Walsh <dwalsh>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: 13CC: 2009spam, chrys87, dwalsh, kdepfyffer, mgrepl, pszsemus, skeffingtonr, slivkam, syscreat, three, twild1990
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard: setroubleshoot_trace_hash:a9a3fc9fb51d0fdc6337e349c1edf5d2544b956cb00a765b3b561125fd9edbfa
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-05-17 20:26:03 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 k.t. 2010-05-17 17:07:37 UTC
Summary:

SELinux is preventing /usr/lib/firefox-3.6/firefox from loading
/home/kristjan/.quakelive/quakelive/home/baseq3/quakelive.i386.so which requires
text relocation.

Detailed Description:

The firefox application attempted to load
/home/kristjan/.quakelive/quakelive/home/baseq3/quakelive.i386.so 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
/home/kristjan/.quakelive/quakelive/home/baseq3/quakelive.i386.so to use
relocation as a workaround, until the library is fixed. Please file a bug
report.

Allowing Access:

If you trust /home/kristjan/.quakelive/quakelive/home/baseq3/quakelive.i386.so
to run correctly, you can change the file context to textrel_shlib_t. "chcon -t
textrel_shlib_t
'/home/kristjan/.quakelive/quakelive/home/baseq3/quakelive.i386.so'" 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
'/home/kristjan/.quakelive/quakelive/home/baseq3/quakelive.i386.so'"

Fix Command:

chcon -t textrel_shlib_t
'/home/kristjan/.quakelive/quakelive/home/baseq3/quakelive.i386.so'

Additional Information:

Source Context                unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1
                              023
Target Context                unconfined_u:object_r:user_home_t:s0
Target Objects                /home/kristjan/.quakelive/quakelive/home/baseq3/qu
                              akelive.i386.so [ file ]
Source                        firefox
Source Path                   /usr/lib/firefox-3.6/firefox
Port                          <Unknown>
Host                          (removed)
Source RPM Packages           firefox-3.6.3-4.fc13
Target RPM Packages           
Policy RPM                    selinux-policy-3.7.19-15.fc13
Selinux Enabled               True
Policy Type                   targeted
Enforcing Mode                Enforcing
Plugin Name                   allow_execmod
Host Name                     (removed)
Platform                      Linux (removed) 2.6.33.3-85.fc13.i686 #1 SMP Thu May 6
                              18:44:12 UTC 2010 i686 i686
Alert Count                   1
First Seen                    Mon 17 May 2010 08:05:33 PM EEST
Last Seen                     Mon 17 May 2010 08:05:33 PM EEST
Local ID                      3ace822e-8c29-4f7d-9bf6-dec8ad717c12
Line Numbers                  

Raw Audit Messages            

node=(removed) type=AVC msg=audit(1274115933.70:19978): avc:  denied  { execmod } for  pid=2000 comm="firefox" path="/home/kristjan/.quakelive/quakelive/home/baseq3/quakelive.i386.so" dev=sda2 ino=131885 scontext=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 tcontext=unconfined_u:object_r:user_home_t:s0 tclass=file

node=(removed) type=SYSCALL msg=audit(1274115933.70:19978): arch=40000003 syscall=125 success=no exit=-13 a0=a57ce000 a1=2e2000 a2=5 a3=bfc0bf40 items=0 ppid=1983 pid=2000 auid=500 uid=500 gid=500 euid=500 suid=500 fsuid=500 egid=500 sgid=500 fsgid=500 tty=(none) ses=1 comm="firefox" exe="/usr/lib/firefox-3.6/firefox" subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 key=(null)



Hash String generated from  allow_execmod,firefox,unconfined_t,user_home_t,file,execmod
audit2allow suggests:

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

allow unconfined_t user_home_t:file execmod;

Comment 1 k.t. 2010-05-17 17:13:43 UTC
Got it fixed by following this:
http://www.quakelive.com/forum/showpost.php?p=214102&postcount=1

Comment 2 Daniel Walsh 2010-05-17 20:26:03 UTC
k.t.  if you read the alert, that is what it told you to do.

Comment 3 k.t. 2010-05-18 04:08:50 UTC
sure, but it would require two more attempts, because punkbuster errors would only appear after you fix quakelive plugin error

Comment 4 Daniel Walsh 2010-05-18 12:42:34 UTC
Of course quakelive could fix their library, or you can turn the check off alltogether

setsebool -P allow_execmod 1