W swoim nowym raporcie Check Point ujawnił szczegóły dotyczące krytycznej luki w aplikacji Instagram na telefony z systemem Android. Podatność może umożliwić zdalnym atakującym przejęcie kontroli nad docelowym urządzeniem, po prostu wysyłając ofiarom specjalnie spreparowany obraz.
Najbardziej niepokojące jest to, że wada nie tylko pozwala atakującym wykonywać działania w imieniu użytkownika w Instagramie – w tym szpiegować prywatne wiadomości ofiary, a nawet usuwać lub publikować zdjęcia z ich kont – ale także wykonywać dowolny kod na urządzeniu!

Luka została załatana w aktualizacji Instagrama już w lutym 2020 roku, a Facebook, czyli właściciel Instagrama, dopiero teraz powiadomił świat o jej istnieniu. Według poradnika opublikowanego przez Facebooka problem bezpieczeństwa przepełnienia sterty w pamięci, śledzony jako CVE-2020-1895, dotyczy wszystkich wersji aplikacji Instagram sprzed 128.0.0.26.128, która została wydana 10 lutego tego roku.
Po zgłoszeniu podatności do Facebooka firma zajmująca się mediami społecznościowymi rozwiązała problem, aktualizując łatkę wydaną sześć miesięcy temu. Publiczne ujawnienie błędu było przez cały skutecznie opóźniane, aby umożliwić większości użytkowników Instagrama aktualizację aplikacji, zmniejszając w ten sposób ryzyko, jakie może wprowadzić ta krytyczna podatność.

Chociaż Facebook potwierdził, że nie ma oznak, aby błąd został wykorzystany w rzeczywistym ataku, to jest to zdecydowanie kolejne poważne przypomnienie dla użytkowników jak ważne jest regularne aktualizowanie aplikacji, nawet tych „mało wrażliwych” na urządzenia mobilne.


Na czym polega błąd

Według Check Pointa luka w zabezpieczeniach pamięci aplikacji umożliwia zdalne wykonanie kodu, który przy rozległych uprawnieniach Instagrama do dostępu do aparatu, kontaktów, GPS, biblioteki zdjęć i mikrofonu może zostać wykorzystany do wykonania praktycznie każdej akcji na urządzeniu użytkownika.

Jeśli chodzi o samą lukę, wynika ona ze sposobu, w jaki Instagram zintegrował MozJPEG – bibliotekę kodowania JPEG typu open source, która ma na celu zmniejszenie przepustowości i zapewnienie lepszej kompresji obrazów przesyłanych do usługi. Błąd w tej bibliotece skutkuje przepełnieniem zmiennej Integer, gdy dana podatna funkcja („read_jpg_copy_loop”) próbuje przeanalizować złośliwy obraz o specjalnie spreparowanych wymiarach.

W ten sposób hacker może uzyskać kontrolę nad rozmiarem pamięci przydzielonej obrazowi, długością danych do nadpisania i wreszcie zawartością przepełnionego obszaru pamięci, co z kolei daje atakującemu możliwość uszkodzenia określonych lokalizacje w stercie pamięci i wykonanie rozkazu przekierowania, co równa się wykonaniu dowolnej komendy w kontekście aplikacji Instagram.

Konsekwencją takiej luki jest to, że wszystko, co atakujący musi zrobić, to wysłać uszkodzony obraz JPEG do ofiary za pośrednictwem poczty elektronicznej lub WhatsApp. Gdy odbiorca zapisze obraz na urządzeniu i uruchomi Instagram, eksploatacja następuje automatycznie, dając atakującemu pełną kontrolę nad aplikacją.
Exploit można wykorzystać do awarii aplikacji Instagram i uczynienia jej niedostępną, chyba że zostanie usunięta i ponownie zainstalowana na urządzeniu.

Poniżej przedstawiono miejsce w kodzie biblioteki MozJPEG, gdzie zmienna całkowitoliczbowa jest przepełniana:

źródło: research.checkpoint.com

„Analiza ujawnionego kodu ujawniła kilka nowych luk w zabezpieczeniach, które też zostały już naprawione” – powiedział Gal Elbaz z Check Point”.

Yaniv Balmas, szef działu badań w Check Point, przedstawił następujące wskazówki dotyczące bezpieczeństwa dla użytkowników smartfonów:

  • Aktualizacja! Upewnij się, że regularnie aktualizujesz aplikację mobilną i mobilne systemy operacyjne. W takich aktualizacjach, co tydzień wysyłane są dziesiątki krytycznych poprawek bezpieczeństwa, a każda z nich może potencjalnie mieć poważny wpływ na Twoją prywatność.
  • Monitoruj uprawnienia. Zwróć większą uwagę na aplikacje proszące o pozwolenie. Programiści aplikacji mogą bez wysiłku prosić użytkowników o nadmierne uprawnienia, a także bardzo łatwo jest kliknąć „Zezwól” bez zastanowienia.
  • Pomyśl dwa razy o zatwierdzeniach. Zastanów się przez kilka sekund, zanim cokolwiek zaakceptujesz. Zapytaj siebie: „Czy naprawdę chcę nadać tej aplikacji taki dostęp, czy naprawdę go potrzebuję?, jeśli odpowiedź brzmi nie, NIE ZATWIERDZAJ.
Podziel się z innymi tym artykułem!