DescriptionRosen Nedyalkov
2009-11-18 14:08:28 UTC
Summary:
SELinux is preventing /lib/ld-2.11.so from making the program stack executable.
Detailed Description:
The ld-linux.so.2 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 ld-linux.so.2 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
ld-linux.so.2 to run correctly, you can change the context of the executable to
execmem_exec_t. "chcon -t execmem_exec_t '/lib/ld-2.11.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 execmem_exec_t '/lib/ld-2.11.so'"
Fix Command:
chcon -t execmem_exec_t '/lib/ld-2.11.so'
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 ld-linux.so.2
Source Path /lib/ld-2.11.so
Port <Unknown>
Host (removed)
Source RPM Packages glibc-2.11-2
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.i686.PAE
#1 SMP Sat Nov 7 21:25:57 EST 2009 i686 i686
Alert Count 12
First Seen Wed 18 Nov 2009 02:46:30 PM EET
Last Seen Wed 18 Nov 2009 02:49:47 PM EET
Local ID 08ed9fd1-83ec-4004-a731-b86c0d55f33c
Line Numbers
Raw Audit Messages
node=(removed) type=AVC msg=audit(1258548587.72:41207): avc: denied { execstack } for pid=11591 comm="ld-linux.so.2" 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(1258548587.72:41207): arch=40000003 syscall=125 success=no exit=-13 a0=bfab8000 a1=1000 a2=1000007 a3=bfab7fc8 items=0 ppid=11590 pid=11591 auid=500 uid=500 gid=500 euid=500 suid=500 fsuid=500 egid=500 sgid=500 fsgid=500 tty=pts4 ses=6 comm="ld-linux.so.2" exe="/lib/ld-2.11.so" 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,ld-linux.so.2,unconfined_t,unconfined_t,process,execstack
audit2allow suggests:
#============= unconfined_t ==============
allow unconfined_t self:process execstack;