Kolejne bardzo poważne błędy w Gadu-Gadu
Jak wiadomo jednym z najbardziej popularnych komunikatorów w Polsce jest Gadu-Gadu. Niestety po raz kolejny okazuje się, że we wszystkich wersjach tytułowego komunikatora występuje dość sporo błędów pozwalających wywołać zewnętrzny kod, wykraść dane z komputera ofiary a nawet zawiesić aplikację.
Przyczyną występowania tych błędów jest zła filtracja kodów html, przepełnienie buforu, zmiennej liczby całkowitej oraz stosu pamięci.
Wykorzystując złą filtrację kodów html, która odpowiedzialna jest za analizowanie początkujących znaczników http: i news: wpisanych do okna wiadomości, możemy używając w spreparowanym zapisie znacznika <a> wysłać odpowiednią informacje, która zostanie wykonana po stronie osoby odbierającej wiadomości.
Komunikator Gadu-Gadu umożliwia również łączenie się poprzez serwery proxy, jednak z racji tego, iż nie ma odpowiedniej autoryzacji tych serwerów można podszyć się pod jeden z nich i wysłać dowolny pakiet do komunikatora. Przykładowo wysyłając odpowiednio spreparowany plik dll do ofiary możemy wywołać jego wewnętrzną funkcję bez wiedzy użytkownika.
Problemy występują również podczas przesyłania plików wykorzystując do tego połączenie dcc (Direct Client to Client) oraz protokół ctcp (Client to Client Protocol). I tak wykorzystując protokół ctcp do przesłania pakietu z odpowiednimi wartościami możemy wydobyć dowolny plik od strony ofiary oczywiście bez jej wiedzy.
Podczas wysyłania obrazków również jesteśmy narażeni na atak. W przypadku, gdy przepełnimy stos wysyłając specjalnie przygotowany do tego celu obrazek, możemy bez problemu nadpisać go naszym dowolnym kodem.
Plik konfiguracyjny również może okazać się bardzo groźny. Opcja image send która standardowo jest wyłączona ma nie umożliwiać przesyłanie obrazków. Jednak nadal istnieje możliwość przesłania obrazków maksymalnie do 100 bajtów. Wykorzystując ponownie przepełnienie stosu podczas przesyłania obrazków możemy wysłać odpowiednio spreparowany kod do ofiary nawet, gdy ma opcję image send wyłączoną.
Jednak na tym się nie kończy. Złe porównanie długości przesyłanych plików powoduje, że mamy nad tym pełną kontrolę. Ponownie przepełniając bufor pamięci możemy umieścić dowolny kod, który zostanie przesłany i wywołany po stronie ofiary. Ponadto doprowadzając do przepełnienia zmiennej całkowitej podczas odbioru plików poprzez dcc możemy ponownie po stronie ofiary zapisać na dysku bądź w pamięci dowolnie przesłany kod, który może później zostać dowolnie wykorzystany.
Szczegółowe informacje o błędach dostępne są na tej stronie.
Do czasu ukazania się poprawionej wersji komunikatora zaleca się wyłączyć obsługę połączeń bezpośrednich, nie otwierać wiadomości od nieznajomych oraz nie korzystać z proxy do łączenia z serwerem. Można także rozważyć korzystanie z innego komunikatora obsługującego protokół Gadu-Gadu.
Źródło informacji: SecurityFocus
Zobacz również:
– Kolejny błąd w Gadu-Gadu
– Nowe, bezpieczne Gadu-Gadu?
– Błąd w najnowszym kliencie Gadu-Gadu