10:25
7/4/2011

Luka w dhclient

Popularny klient DHCP niedokładnie filtruje dane przesyłane w odpowiedziach serwerów DHCP. W niektórych przypadkach może to prowadzić do wykonania nieautoryzowanego kodu na systemie klienta.

Brak filtrowania

dhclient nie escape’uje meta-znaków powłoki w odpowiedziach serwerów DHCP (np. wartości dla hostname). Aby uchronić się przed złośliwymi odpowiedziami serwerów DHCP należy zainstalować najnowsze wersje dhclienta (1-ESV-R1, 4.1-ESV-R2 lub 4.2.1-P1). Luka dotyczy tylko systemów *niksowych (Windows i Mac OS X korzystają z innych rozwiązań).

dhclient

dhclient w akcji

Jako obejście [podkreślam obejście a nie rozwiązanie!] problemu można także przeedytować skrypt dhclient-script i na początku funkcji set_hostname() dodać tę linię:

new_host_name=${new_host_name//[^-.a-zA-Z0-9]/}

Internet Systems Consortium, organizacja która rozwija BIND-a i dhcpd/dhclienta sugeruje także ustawienie odpowiednich filtrów, które pozwolą klientom na łączenie się tylko z zaufanymi serwerami DHCP.

Aktualizacja 10:58
Jak zauważa guzik, problem dotyczy również dhcpcd — w tym przypadku jako obejście problemu podawane jest usunięcie host_name z linii opcji w /etc/dhcpcd.conf

Przeczytaj także:

14 komentarzy

Dodaj komentarz
  1. Ciekawe jak zainstalować nową wersje na routerze…

    • Boze spraw aby chinczycy wypuscili aktualizacje firmware…

    • Może trzeba poczekać na aktualizację producenta, jak myślisz?

    • Skoro możesz wykorzystać lukę do wykonania nieautoryzowanego kodu, to w czym rzecz?:)

    • @Rzast: powodzenia.

    • Jeśli dobrze rozumiem, to tylko złośliwy serwer dhcp może przysłać kod… Jeśli mój router jest dobrze ułożony i łagodny z charakteru to jestem bezpieczny ;) No chyba, że chodzę z laptopem do różnych firm, i freaków którzy mają postawiony własny serwer dhcp o którym nic nie wiem, ale wtedy aktualizacja firmwaru na moim routerze raczej na nie wiele się zda…

    • @A: Pod warunkiem, że nikt nie wepnie w Twoją sieć swojego ‘złośliwego’ serwera DHCP. Chyba, że na kliencie określasz jawnie, z którego serwera korzystasz.

  2. Tu nie chodzi wyłącznie o hostname (które akurat jest wykorzystywane bardzo rzadko bo tylko wtedy gdy stacja kliencka nie ma ustawionego hostname), a także o pozostałe opcje. Dlatego warto zaopatrzyć się w poprawioną wersję. Drugą możliwą opcją, którą sprawdzają w patchu jest na przykład root-path.

    • wiem ;] i dlatego napisalem -> np. wartosci dla hostname ;] ale dopisze teraz ze obejscie ktore podalo isc to obejscie a nie patch bo to rzeczywiscie moze nie byc jasne ;]

  3. Dlatego warto uzywac stalych IP.

  4. Wygląda na to, że trzeba częściej w konsoli wydawać polecenie update…

    Pozdrawiam!

  5. Mac OS X to *jest* system uniksowy.

    • Myślę że autorom chodzi o systemy uniksopodobne, a nie samego Uniksa ;-)

Twój komentarz

Zamieszczając komentarz akceptujesz regulamin dodawania komentarzy. Przez moderację nie przejdą: wycieczki osobiste, komentarze nie na temat, wulgaryzmy.

RSS dla komentarzy: