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