W systemd-journald zidentyfikowano trzy luki w zabezpieczeniach

luka w zabezpieczeniach systemd

Zidentyfikowano trzy luki, które pozwalają nieuprzywilejowanemu napastnikowi na podniesienie swoich uprawnień w systemie i uruchom kod jako root w systemd-journald, który jest odpowiedzialny za logowanie do systemd.

Luki w zabezpieczeniach manifest we wszystkich dystrybucjach używających systemd, Z wyjątkiem SUSE Linux Enterprise 15, openSUSE Leap 15.0 i Fedory 28/29, w którym komponenty systemowe są montowane z włączeniem „-fstack-clash-protection”.

Co to są luki w zabezpieczeniach?

Luki w zabezpieczeniach już zarejestrowany CVE-2018-16864 y CVE-2018-16865 pozwalają na stworzenie warunków do zapisu danych poza granicami przydzielonego bloku pamięci, podczas gdy podatność CVE-2018-16866 umożliwia odczytanie zawartości zewnętrznych obszarów pamięci.

Badacze przygotowali działający prototyp exploita który wykorzystując luki CVE-2018-16865 i CVE-2018-16866.

Szczegółowe informacje na temat tych luk badacze Mówią nam, że pozwala to uzyskać uprawnienia roota po około 10 minutach ataku na systemy o architekturze i386 i 70 minutach na systemy amd64.

Exploit ten został przetestowany w systemie Debian 9.5.

Wyjaśniają również, że:

Gdy zostanie napisany exploit, Stosowana jest technika Stack Сlash, którego istotą jest stworzenie warunków, gdy zawartość przepełnionej sterty znajduje się w obszarze stosu lub odwrotnie, stos może przepisać obszar sterty.

Co objawia się w sytuacjach, gdy stos i sterta są umieszczane obok siebie (obszar stosu następuje natychmiast po pamięci przydzielonej dla sterty).

Proponowany exploit potwierdza założenie, że ochrona przed atakami klasy Stack Сlash na poziomie jądra Linuksa nie jest wystarczająca.

Jednocześnie atak jest skutecznie blokowany podczas przebudowywania GCC z włączoną opcją „-fstack-clash-protection”.

O podatnościach

Słaby punkt CVE-2018-16864 zostało wykryte po przeanalizowaniu sytuacji, w której przesyłanie aplikacji zapisujących dane do dziennika poprzez wywołanie syslog (), duża liczba argumentów wiersza poleceń (kilka megabajtów) prowadzi do awarii procesu systemd-journald.

Analiza wykazała, że ​​manipulując łańcuchem za pomocą argumentów wiersza poleceń, na początku stosu można umieścić kontrolowaną kolejkę stosu.

Jednak dla udanego ataku konieczne jest ominięcie techniki ochrony stosu strony chroniącej stos używanej w jądrze., którego istota polega na zamianie stron pamięci na ograniczenia. zgłosić wyjątek (błąd strony).

Aby ominąć tę ochronę równolegle, system d-journald zaczyna w „stanie wyścigowym””, Dając czas na uchwycenie upadku procesu sterowania z powodu wpisu w pamięci strony, tylko do odczytu.

W trakcie badania pierwszej luki pojawiły się jeszcze dwa problemy.

Druga luka CVE-2018-16865 umożliwia tworzenie warunków nakładki stosu ukośnika podobnie, pisząc bardzo duży komunikat do run / systemd / journal / socket.

Trzecia luka CVE-2018-16866 pojawia się, jeśli wyślesz wiadomość syslog z ostatnim znakiem „:”.

Z powodu błędu w analizie łańcuchów ciąg kończący „\ 0” po nim zostanie odrzucony, a dziennik będzie zawierał część bufora znajdującą się poza „\ 0”, co pozwoli ci znaleźć adresy stosu i mmapa.

  • Luka CVE-2018-16864 jest widoczna od kwietnia 2013 r. (Pojawiła się w systemd 203), ale nadaje się do działania dopiero po zmianie na systemd 230 w lutym 2016 r.
  • Luka CVE-2018-16865 jest widoczna od grudnia 2011 r. (Systemd 38) i jest dostępna do działania od kwietnia 2013 r. (Systemd 201).
  • Problemy CVE-2018-16864 i CVE-2018-16865 zostały naprawione kilka godzin temu w głównej gałęzi systemd.

Luka CVE-2018-16866 pojawiła się w czerwcu 2015 r. (Systemd 221) i została naprawiona w sierpniu 2018 r. (Nie jest wyświetlana w systemd 240).

Wydanie działającego exploita zostało przełożone do czasu wydania poprawek przez dystrybucje.

Obecnie dystrybucje luk w zabezpieczeniach nie są jeszcze załatane, są najpopularniejsze, takie jak Debian, Ubuntu, RHEL, Fedora, SUSE, a także ich pochodne.


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: AB Internet Networks 2008 SL
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.

  1.   Luix powiedział

    systemd jest do bani!

  2.   martijo powiedział

    init wolność… tak !!!!