Wykryli lukę w bibliotekach uClibc i uClibc-ng, która wpływa na oprogramowanie układowe systemu Linux 

Kilka dni temu pojawiła się wiadomość, że w standardowych bibliotekach C uClibc i uClibc-ng, używany w wielu urządzeniach wbudowanych i przenośnych, zidentyfikowano podatność (z nieprzypisanym CVE), co pozwala na podmianę fikcyjnych danych w pamięci podręcznej DNS, które można wykorzystać do sfałszowania adresu IP dowolnej domeny w pamięci podręcznej i przekierowywania żądań do domeny na serwer atakującego.

O problemie wspomina się, że to wpływa na różne oprogramowanie sprzętowe Linux dla routerów, punktów dostępowych i urządzeń IoT, a także wbudowane dystrybucje Linuksa, takie jak OpenWRT i Embedded Gentoo.

O podatności

Słaby punkt wynika z użycia przewidywalnych identyfikatorów transakcji w kodzie do wysyłania zapytań DNS. Identyfikator zapytania DNS został wybrany przez proste zwiększenie licznika bez dalszej randomizacji numerów portów, co umożliwiło zatrucie pamięci podręcznej DNS poprzez prewencyjne wysyłanie pakietów UDP z fałszywymi odpowiedziami (odpowiedź zostanie zaakceptowana, jeśli nadejdzie przed odpowiedzią z prawdziwego serwera i będzie zawierała poprawną identyfikację).

W przeciwieństwie do metody Kaminsky'ego zaproponowanej w 2008 roku, nie trzeba nawet odgadywać identyfikatora transakcji, ponieważ jest on początkowo przewidywalny (początkowo jest ustawiony na 1, który rośnie z każdym żądaniem i nie jest wybierany losowo).

aby się chronić przed zgadywaniem tożsamości, specyfikacja ponadto zaleca stosowanie losowego rozkładu numerów portów sieciowych pochodzenia, z którego wysyłane są zapytania DNS, co rekompensuje niewystarczający rozmiar identyfikatora.

Gdy włączona jest randomizacja portów, aby utworzyć fikcyjną odpowiedź, oprócz wybrania 16-bitowego identyfikatora, konieczne jest również wybranie numeru portu sieciowego. W uClibc i uClibc-ng taka randomizacja nie była jawnie włączona (podczas wywoływania bind nie określono losowego źródłowego portu UDP), a jej implementacja zależała od konfiguracji systemu operacyjnego.

Gdy losowanie portów jest wyłączone, określenie, który identyfikator żądania należy zwiększyć, jest oznaczony jako trywialne zadanie. Ale nawet w przypadku randomizacji atakujący musi jedynie odgadnąć port sieciowy z zakresu 32768-60999, do czego może wykorzystać masowe jednoczesne wysyłanie fikcyjnych odpowiedzi na różne porty sieciowe.

Problem została potwierdzona we wszystkich aktualnych wersjach uClibc i uClibc-ng, w tym najnowsze wersje uClibc 0.9.33.2 i uClibc-ng 1.0.40.

„Ważne jest, aby pamiętać, że luka w zabezpieczeniach standardowej biblioteki C może być dość złożona” – napisał zespół w poście na blogu w tym tygodniu.

„Nie tylko setki lub tysiące wywołań podatnej funkcji w wielu punktach w jednym programie, ale luka wpłynęłaby na nieskończoną liczbę innych programów od wielu dostawców skonfigurowanych do korzystania z tej biblioteki”.

We wrześniu 2021 r. wysłana została informacja o luce do CERT/CC w celu skoordynowanego przygotowania macierzy. W styczniu 2022 r. problem został udostępniony ponad 200 producentom związane z CERT/CC.

W marcu podjęto próbę osobnego skontaktowania się z opiekunem projektu uClibc-ng, ale ten odpowiedział, że nie może sam naprawić tej luki i zalecił publiczne ujawnienie informacji o problemie, mając nadzieję na uzyskanie pomocy w opracowaniu poprawki. Społeczność. Od producentów firma NETGEAR ogłosiła wydanie aktualizacji usuwającej usterkę.

Należy zauważyć, że luka w standardowej bibliotece C może być dość złożona. Nie tylko setki lub tysiące wywołań funkcji, której dotyczy luka, w wielu punktach w jednym programie, ale luka wpłynęłaby na nieskończoną liczbę innych programów od wielu dostawców skonfigurowanych do korzystania z tej biblioteki.

Należy zauważyć, że luka ujawnia się w urządzeniach wielu producentów (na przykład uClibc jest używany w oprogramowaniu firmowym firm Linksys, Netgear i Axis), ale ponieważ luka pozostaje niezałatana w uClibc i uClibc-ng, szczegółowe informacje o urządzeniach i konkretnych producenci, w których produktach występuje problem, do czasu ich ujawnienia.

W końcu jeśli chcesz dowiedzieć się więcej na ten tematmożesz sprawdzić szczegóły W poniższym linku.


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.