Glibc, PaX i problemy ...

Jakub Bogusz qboosh w pld-linux.org
Pią, 4 Lut 2005, 12:09:15 CET


On Fri, Feb 04, 2005 at 11:59:11AM +0100, Paweł Sikora wrote:
> On Fri, 4 Feb 2005, Jakub Bogusz wrote:
> >On Fri, Feb 04, 2005 at 11:45:24AM +0100, Piotr Zięcik wrote:
> >>Dnia niedziela, 30 stycznia 2005 12:38, Paweł Sikora napisał:
> >>>sprawdź to w .rpmmacros
> >>>
> >>>%rpmcflags %optflags%{debuginfocflags} -pipe -Wa,--noexecstack
> >>>
> >>>readelf -WS libgcrypt.a wykazało, że moduły asm. mpih-*.o
> >>>wzbogaciły się o sekcję .note-GNU-stack, więc sprawdź sobie
> >>>w chroot-ie, czy będą działać z PaX-em.
> >>
> >>Skompilowałem sobie to na mojej maszynce i po dodaniu tej flagi działa
> >>(wyjątek - zlib - ma bcond "--with pax"). Pakiety które nie chciały 
> >>wcześniej
> >>współpracować to:
> >>
> >>beecrypt
> >>cgilibc
> >>cracklib
> >>freetype
> >>gdbm
> >>gmp
> >>guile
> >>heimdal
> >>libcap
> >>libjpeg
> >>libwrap
> >>lua40
> >>openssl
> >>readline
> >>whoson
> >>zlib
> >>
> >>Wszystkie oprócz ostatniego działają bez zarzutu. Trzeba by teraz dać dla 
> >>tych
> >>pakietów flagę -Wa,--noexecstack do kompilacji i przepuścić przez 
> >>buildery.
> >
> >Aha, a jak ktoś nie będzie używał PaX, tylko ochrony na podstawie
> >GNU_STACK (dla CPU z obsługą NX to chyba już jest w standardzie?), to te
> >biblioteki przestaną działać?
> >Z jakiegoś powodu dostały sekcję GNU_STACK z flagą wykonywalnego stosu.
> 
> nie, one jej nie miały w ogóle.

Na pewno?

$ eu-readelf -a /usr/lib/libbeecrypt.so.6.2.0 |grep GNU_STACK
  GNU_STACK      0x000000 0x00000000 0x00000000 0x000000 0x000000 RWE 0x4
                                                                    ^

itd. dla paru innych z listy (wszystkich nie sprawdzałem)

> jeśli nie ma informacji o tej sekcji,
> to przyjmuje się domyślnie, że program potrzebuje wykonywalnego stosu.

To wiem.


-- 
Jakub Bogusz    http://cyber.cs.net.pl/~qboosh/




Więcej informacji o liście dyskusyjnej pld-devel-pl