Preorder drugiego tomu książki sekuraka: Wprowadzenie do bezpieczeństwa IT. -15% z kodem: sekurak-book
Zdalne wykonanie kodu (RCE) w kliencie Telegram dla Windows – pogłoski potwierdzone
Od kilku dni krążyły pogłoski o rzekomym ataku RCE (Remote Code Execution) w kliencie komunikatora Telegrama dla komputerów z Windows. Okazały się prawdziwe, mimo pierwotnych zaprzeczeń ze strony twórców Telegrama.
Przyczyną błędu była literówka w kodzie, dokładnie na liście rozszerzeń zawierających listę plików wykonywalnych.
Na szczęście wykorzystanie podatności wymaga zarówno interakcji ze strony ofiary (kliknięcie w złośliwy załącznik), jak zainstalowanego Pythona dla Windows na komputerze ofiary. To ostatnie zdarza się stosunkowo rzadko. Instalacja Pythona dla Windows jest niezbędna do wykonania przesłanego kodu, a jednocześnie skojarzenia rozszerzenia .pyzw z Pythonem, co powoduje jego uruchomienie po kliknięciu załącznika.
Pliki .pyzw są używane do tzw. zipapps, czyli archiwów ZIP zawierających gotowe do uruchomienia programy napisane w języku Python.
Przykładowe wykorzystanie podatności w kliencie Telegram można obejrzeć na video.
Tradycyjnie zalecamy jak najszybszą aktualizację klienta Telegram.
Jednocześnie trzeba zauważyć, że przechowywanie listy rozszerzeń plików wykonywalnych i traktowanie ich w wyjątkowy sposób – w tym przypadku uruchamiane są po potwierdzeniu – stwarza ryzyko wystąpienia podobnych problemów w przyszłości. Lepszym podejściem byłaby w tym przypadku allowlista, czyli uruchamianie tylko wybranych typów plików bez potwierdzenia po kliknięciu. Wszystkie pozostałe rozszerzenia powinny być traktowane jako potencjalnie niebezpieczne.
~Paweł “Róża” Różański
Ciekawe że wiele różnych poważnych projektów utrzymuje taką listę rozszerzeń i ich ze sobą nie synchronizują.
Ciekawe też jaka jest historia rozszerzenia .vbscript (nie mylić z .vbs). Widział ktoś kiedyś żeby było wykonywalne czy to czyste voodoo kopiowane z listy na listę?
PS Jak ich interesują takie kapiszony to może warto do listy dodać .ahk autohotkeya?
Podatnosc zostala ujawniona delikatnie mowiac w bardzo niekonwencjonalny sposob. Aktualizacja klienta w tym momencie raczej nie jest konieczna gdyz blad zostal zalatany po stronie serwera.