2-letnia luka powraca do jądra Linuksa
Napisał: Patryk Krawaczyński
08/10/2017 w Bezpieczeństwo Brak komentarzy. (artykuł nr 641, ilość słów: 331)
Błąd w jądrze Linuksa, który został odkryty dwa lata temu, ale nie był uważany za zagrożenie dla bezpieczeństwa w tym czasie, został właśnie uznany za lukę umożliwiającą eskalację uprawnień na poziomie lokalnym. Błąd ten został zidentyfikowany jako CVE-2017-1000253 i pierwotnie został odkryty przez badacza pracującego dla Google Michaela Davidsona w kwietniu 2015 roku. Z powodu zignorowania powagi tego błędu – poprawka dla niego nie została przekazana do długoterminowo wspieranej wersji jądra 3.10.77 (warto wspomnieć, że wersje LTS właśnie przeszły z cyklu 2 letniego, na 6 letni).
Jednak pracownicy z firmy Qualys Research Labs odkryli, że luka ta może zostać wykorzystana do eskalacji uprawnień. Pozostawiło to wszystkie wersje CentOS 7 przed wersją 1708 (13 września 2017 r.), Red Hat Enterprise przed 7.4 (1 sierpnia 2017 r.) oraz wszystkie wersje z serii 6 podatne na atak (Debianowi również się oberwało). Luka w zabezpieczeniach, która uzyskała podstawowy wynik CVSS3 7.8 na 10 znajduje się w sposobie, w jaki jądro Linuksa ładuje pliki wykonywalne ELF (ang. Executable and Linkable Format). Jeśli aplikacja ELF została zbudowana z PIE (ang. Position Independent Executable), który dba o zwiększenie pseudolosowego rozrzutu danych zapisywanych przez program w segmentach pamięci – to może dojść do sytuacji, w której moduł ładujący zezwoli na zmapowanie części segmentu danych poza obszar pamięci zarezerwowany dla stosu aplikacji. Może to spowodować uszkodzenie pamięci lub umożliwić nieuprzywilejowanemu użytkownikowi (posiadającemu dostęp do programu SUID lub innego wadliwego programu binarnego z PIE) uzyskanie uprawnień użytkownika wyższego poziomu, czyli administratora.
Jeśli z jakiś powodów nie posiadamy możliwości restartu serwera w celu załadowania poprawionej wersji jądra możemy przełączyć się na starszy układ mmap ustawiając zmienną w sysctl:
vm.legacy_va_layout = 1
co skutecznie powinno wyłączyć możliwość eksploatacji tej podatności.
Więcej informacji: CVE-2017-1000253