7/4/2011
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ń).
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
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.
I dhcpcd: http://roy.marples.name/archives/dhcpcd-discuss/2011/0326.html
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 ;]
Dlatego warto uzywac stalych IP.
Wygląda na to, że trzeba częściej w konsoli wydawać polecenie update…
Pozdrawiam!
Mac OS X to *jest* system uniksowy.
Myślę że autorom chodzi o systemy uniksopodobne, a nie samego Uniksa ;-)