Bug 547632

Summary: SELinux is preventing /opt/lampp/bin/php-5.3.0 from loading /opt/lampp/lib/libct.so.3.0.0 which requires text relocation.
Product: [Fedora] Fedora Reporter: Masood <cierta>
Component: selinux-policyAssignee: Daniel Walsh <dwalsh>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: 12CC: dwalsh, mgrepl
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard: setroubleshoot_trace_hash:956e29c2bc3bfbf7fc1c9b06eda3143ae65ad5cac272e285a057a3298a7c833f
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-12-22 20:42:40 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 Masood 2009-12-15 09:11:44 UTC
Summary:

SELinux is preventing /opt/lampp/bin/php-5.3.0 from loading
/opt/lampp/lib/libct.so.3.0.0 which requires text relocation.

Detailed Description:

[SELinux is in permissive mode. This access was not denied.]

The php application attempted to load /opt/lampp/lib/libct.so.3.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
/opt/lampp/lib/libct.so.3.0.0 to use relocation as a workaround, until the
library is fixed. Please file a bug report.

Allowing Access:

If you trust /opt/lampp/lib/libct.so.3.0.0 to run correctly, you can change the
file context to textrel_shlib_t. "chcon -t textrel_shlib_t
'/opt/lampp/lib/libct.so.3.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 '/opt/lampp/lib/libct.so.3.0.0'"

Fix Command:

chcon -t textrel_shlib_t '/opt/lampp/lib/libct.so.3.0.0'

Additional Information:

Source Context                unconfined_u:unconfined_r:unconfined_execmem_t:s0-
                              s0:c0.c1023
Target Context                system_u:object_r:lib_t:s0
Target Objects                /opt/lampp/lib/libct.so.3.0.0 [ file ]
Source                        php
Source Path                   /opt/lampp/bin/php-5.3.0
Port                          <Unknown>
Host                          (removed)
Source RPM Packages           
Target RPM Packages           
Policy RPM                    selinux-policy-3.6.32-55.fc12
Selinux Enabled               True
Policy Type                   targeted
Enforcing Mode                Permissive
Plugin Name                   allow_execmod
Host Name                     (removed)
Platform                      Linux (removed)
                              2.6.31.6-166.fc12.x86_64 #1 SMP Wed Dec 9 10:46:22
                              EST 2009 x86_64 x86_64
Alert Count                   3
First Seen                    Tue 15 Dec 2009 12:16:22 PM IRST
Last Seen                     Tue 15 Dec 2009 12:22:04 PM IRST
Local ID                      672151a8-253b-45ea-ae15-e978d26c6a67
Line Numbers                  

Raw Audit Messages            

node=(removed) type=AVC msg=audit(1260867124.922:99): avc:  denied  { execmod } for  pid=3945 comm="php" path="/opt/lampp/lib/libct.so.3.0.0" dev=sda7 ino=167706 scontext=unconfined_u:unconfined_r:unconfined_execmem_t:s0-s0:c0.c1023 tcontext=system_u:object_r:lib_t:s0 tclass=file

node=(removed) type=SYSCALL msg=audit(1260867124.922:99): arch=40000003 syscall=125 success=yes exit=0 a0=215000 a1=55000 a2=5 a3=ffae1160 items=0 ppid=3944 pid=3945 auid=500 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts0 ses=1 comm="php" exe="/opt/lampp/bin/php-5.3.0" subj=unconfined_u:unconfined_r:unconfined_execmem_t:s0-s0:c0.c1023 key=(null)



Hash String generated from  selinux-policy-3.6.32-55.fc12,allow_execmod,php,unconfined_execmem_t,lib_t,file,execmod
audit2allow suggests:

#============= unconfined_execmem_t ==============
allow unconfined_execmem_t lib_t:file execmod;

Comment 1 Daniel Walsh 2009-12-15 14:23:39 UTC
Execute the suggested chcon command.

Fixed in selinux-policy-3.6.32-59.fc12.noarch

Comment 2 Fedora Update System 2009-12-16 13:56:36 UTC
selinux-policy-3.6.32-59.fc12 has been submitted as an update for Fedora 12.
http://admin.fedoraproject.org/updates/selinux-policy-3.6.32-59.fc12

Comment 3 Fedora Update System 2009-12-18 04:44:37 UTC
selinux-policy-3.6.32-59.fc12 has been pushed to the Fedora 12 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update selinux-policy'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F12/FEDORA-2009-13384