odwrócenie bconda pax w glibc - upgrade do glibca bez wsparcia dla pax

Marek Guevara Braun marek.guevara w atm.com.pl
Pią, 29 Wrz 2006, 11:40:19 CEST


Piotr Zięcik wrote:

> 1. Glibc bez PaX na maszynie bez PaX:
> 	Działa.
> 
> 2. Glibc bez PaX na maszynie z PaX:
> 	Nie działa.
> 
> 3. Glibc z PaX na maszynie bez PaX:
> 	Działa. Łata powoduje ignorowanie błędu EACCES wywołania mprotect(). Wg.
> 	dokumentacji na systemie bez PaX taki błąd może być zwrócony w zasadzie
> 	tylko na życzenie użytkownika: "The  memory  cannot be given the specified
> 	access. This can happen, for example, if you mmap(2) a file to which you have
> 	read-only access, then ask mprotect() to mark it PROT_WRITE."
> 
> 4. Glibc z PaX na maszynie z PaX:
> 	Działa.
> 
> Problem jest w wypadku, gdy z glibc'a ktoś usunie się tą łatę i punkt (4) 
> redukuje się do (2) ze skutkiem natychmiastowym. 

Właśnie sprawdziłem na maszynie z aktywnym PaXem z 2.6.17.13-3 -
zdowngradowałem poldkiem glibc do wersji bez poprawki paxowej i:

- system nadal pracuje,
- mogę dalej używać poldka (zupgradowałem openssh-*)
- nie mogę się zalogować na konsoli :-(
- nie mogę się zalogować via ssh :-(
- działa moja stara sesja ssh - nadal jestem zalogowany :-)
- działa moja stara sesja na konsoli :-)
- przy restarcie sshd nowy daemon jest ubijany :-(
- o ile nie próbuje zrestartować sshd to ten nadal działa :-)
- mogę wyjść z poldka i przejść do shella
- nie mogę ponownie uruchomić poldka
- mogę na uprzednio zalogowanej sesji aktywować softmode via
  	echo 1 > /proc/sys/kernel/pax/softmode
- z aktywnym softmode mogę się logować lokalnie i via ssh (o ile
  nie restartowałem sshd), uruchomić poldka i przywrócić dobrego glibca.
- po instalacji dobrego glibca mogę ponownie wyłączyć softmode
  	echo 0 > /proc/sys/kernel/pax/softmode

Czyli o ile zbyt szybko nie opóścimy shella w którym jesteśmy zalogowani
upgradując glibca to możemy włączyć softmode i uratować system.

Pozdrawiam,
Marek


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