Hi!

On Fri, Mar 06, 2009 at 11:12:59PM +0200, [email protected] wrote:
> ah crap, i know what it is. it's a several years old glibc bug where someone
> put a certain variable into the RELRO segment but forgot that it'll be written
> to later when a library with RWE GNU_STACK is loaded. the workaround is
> to find that library (just extract them from strace, probably it'll be
> pari's library) and run execstack -c on it.

I don't have execstack command. Looks like it belong to prelink package,
but http://www.gentoo.org/doc/en/prelink-howto.xml states it's
incompatible with hardened. Because of this I decide to compile it
manually, just to get execstack command:

# emerge -f prelink
# cd /usr/src
# tar xjvf /usr/portage-distfiles/prelink-20071009.tar.bz2
# cd prelink
# ./configure && make

Now I tried your workaround:

# /usr/src/prelink/src/execstack -c 
/usr/lib/perl5/site_perl/5.8.8/i686-linux/auto/Math/Pari/Pari.so
# /usr/src/prelink/src/execstack -c /usr/local/ioncube/ioncube_loader_lin_5.2.so
# /usr/src/prelink/src/execstack -c /usr/local/Zend/lib/ZendExtensionManager.so
# /usr/src/prelink/src/execstack -c 
/usr/local/Zend/lib/ZendExtensionManager_TS.so
# /usr/src/prelink/src/execstack -c 
/usr/local/Zend/lib/Optimizer-3.3.0/php-5.2.x/ZendOptimizer.so

and it works!!

Is this issue will be fixed in next stable hardened-sources?

-- 
                        WBR, Alex.

Reply via email to