W pppd znaleziono błąd, który pozwalał na zdalne wykonywanie kodu jako root

Luka w pakiecie pppd została właśnie ujawniona opinii publicznej (CVE-2020-8597) co poważnie wpływa na niektóre usługi VPN, połączenia DSL, a także Ethernet ponieważ znaleziony błąd pozwolił na wykonanie kodu wysyłającego specjalnie zaprojektowane żądania uwierzytelnienia do systemów, które używają PPP (Point-to-Point Protocol) lub PPPoE (PPP over Ethernet).

I to jest to, jak wspomnieliśmy, różni dostawcy często używają tych protokołów do nawiązywania połączeń przez Ethernet lub DSL i są również używane w niektórych sieciach VPN, np. pptpd i openfortivpn.

Aby przetestować podatność systemów na problem, przygotowano prototyp exploita, które już jest dostępny dla ogółu społeczeństwa.

O orzeczeniu

Luka jest spowodowana przepełnieniem bufora w implementacji Extensible Authentication Protocol (EAP).

Dodatkowy błąd logiczny powoduje, że funkcja eap_input () nie sprawdza, czy EAP został wynegocjowany podczas fazy protokołu kontroli linii (LCP).

Dzięki temu nieuwierzytelniona osoba atakująca może wysłać pakiet EAP nawet jeśli ppp odrzucił negocjację uwierzytelnienia z powodu braku obsługi EAP lub z powodu niedopasowania wstępnie udostępnionego hasła uzgodnionego w fazie LCP.

Podatny kod pppd w eap_input będzie nadal przetwarzał pakiet EAP i wyzwoli przepełnienie bufora stosu.

Te niezweryfikowane dane o nieznanym rozmiarze mogą zostać użyte do uszkodzenia pamięci systemu docelowego. Pppd często działa z wysokimi uprawnieniami (system lub root) i działa w połączeniu ze sterownikami jądra. Dzięki temu osoba atakująca może potencjalnie uruchomić dowolny kod z uprawnieniami administratora lub na poziomie systemu.

Z tym atak można przeprowadzić na etapie przed uwierzytelnieniem Pomiń, wysyłając pakiet typu EAPT_MD5CHAP, zawierający bardzo długą nazwę hosta, która nie mieści się w przydzielonym buforze.

Ze względu na błąd w kodzie sprawdzania rozmiaru pola rhostname, atakujący może nadpisać dane poza buforem na stosie i osiągnij zdalne wykonanie kodu z uprawnieniami roota.

Luka ujawnia się po stronie serwera i klientaOznacza to, że atakowany może być nie tylko serwer, ale także klient, który próbuje połączyć się z serwerem kontrolowanym przez atakującego (np. atakujący może najpierw zhakować serwer przez lukę, a następnie rozpocząć atakowanie klientów, którzy się łączą ).

Słaby punkt wpływa również na stos lwIP, ale obsługa EAP nie jest włączona w ustawieniach domyślnych w lwIP.

Wersje i rozwiązania, których dotyczy problem 

W związku z tym wykryto usterkę dotyczy pppd w wersjach od 2.4.2 do 2.4.8 włącznie i jest rozwiązany w formie poprawki. Niektórzy z was mogą być świadomi, że ujawnienie błędów opinii publicznej następuje długo po ich wykryciu i rozwiązaniu problemu. I chociaż zajmuje to cały proces, nadal istnieje część użytkownika, która musi wykonać odpowiednią aktualizację.

Status rozwiązania problemu można sprawdzić w raportach głównych dystrybucji Linuksa.

Można to zobaczyć w te strony: Debian, Ubuntu, RHEL, fedora, SUSE, OpenWRT, łuk, NetBSD.

W RHEL, OpenWRT i SUSE, pakiet pppd jest kompilowany z włączeniem "Stack Smashing Protection" ("-fstack-ochrona»W gcc), co ogranicza działanie zamka.

Oprócz dystrybucji luka jest również potwierdzona w niektórych produktach Cisco (CallManager), TP-LINK i Synology (DiskStation Manager, VisualStation VS960HD i Router Manager) przy użyciu kodu pppd lub lwIP.

W związku z tym łatka jest już dostępna w repozytoriach większości dystrybucji Linuksa, a niektóre już to zaimplementowały, oferując aktualizację pakietu.

Jeśli chcesz dowiedzieć się więcej na ten temat o znalezionej usterce możesz sprawdzić szczegóły i więcej informacji W poniższym linku.


Bądź pierwszym który skomentuje

Zostaw swój komentarz

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

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  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.