Opublikowano wyniki audytu klienta Mozilla VPN

Mozilla ogłosiła zakończenie niezależnego audytu oprogramowania klienckiego umożliwiającego połączenie z usługą Mozilla VPN. Audyt obejmował analizę samodzielnej aplikacji klienckiej napisanej przy użyciu biblioteki Qt i dostępnej dla systemów Linux, macOS, Windows, Android i iOS. Mozilla VPN jest obsługiwana przez ponad 400 serwerów szwedzkiego dostawcy VPN Mullvad, zlokalizowanych w ponad 30 krajach. Połączenie z usługą VPN odbywa się za pomocą protokołu WireGuard.

Audyt przeprowadziła firma Cure53, która swego czasu kontrolowała projekty NTPsec, SecureDrop, Cryptocat, F-Droid i Dovecot. Audyt obejmował weryfikację kodów źródłowych oraz obejmował testy mające na celu identyfikację ewentualnych podatności (nie uwzględniano zagadnień związanych z kryptografią). W trakcie audytu zidentyfikowano 16 kwestii związanych z bezpieczeństwem, z czego 8 miało charakter zaleceń, 5 przypisano niski poziom zagrożenia, XNUMX średni poziom zagrożenia, a jednemu wysoki stopień zagrożenia.

Jednak tylko jeden problem o średnim poziomie ważności został sklasyfikowany jako luka, ponieważ jako jedyny nadawał się do wykorzystania. Ten problem spowodował wyciek informacji o użytkowaniu VPN w kodzie wykrywania portalu przechwytującego z powodu niezaszyfrowanych bezpośrednich żądań HTTP wysyłanych poza tunel VPN, ujawniających główny adres IP użytkownika, jeśli osoba atakująca mogła kontrolować ruch tranzytowy. Problem rozwiązuje się poprzez wyłączenie trybu wykrywania portalu przechwytującego w ustawieniach.

Drugi problem o średniej wadze związany jest z brakiem odpowiedniego oczyszczenia wartości nieliczbowych w numerze portu, co pozwala na wyciek parametrów uwierzytelniania OAuth poprzez zastąpienie numeru portu ciągiem typu „[email chroniony]", co doprowadzi do instalacji tagu[email chroniony]/?code=..." alt=""> dostęp do example.com zamiast 127.0.0.1.

Trzeci problem, oznaczony jako niebezpieczny, umożliwia dowolnej aplikacji lokalnej bez uwierzytelnienia dostęp do klienta VPN za pośrednictwem protokołu WebSocket powiązanego z hostem lokalnym. Jako przykład pokazano, jak przy aktywnym kliencie VPN dowolna witryna może zorganizować tworzenie i wysyłanie zrzutu ekranu poprzez generowanie zdarzenia screen_capture. Problem nie jest klasyfikowany jako podatność, ponieważ WebSocket był używany wyłącznie w wewnętrznych testach, a wykorzystanie tego kanału komunikacji było planowane w przyszłości jedynie w celu zorganizowania interakcji z dodatkiem do przeglądarki.

Źródło: opennet.ru

Dodaj komentarz