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.
