Audit sécurité GotaTun : ce que Mullvad a trouvé et corrigé

juin 29, 2026
Léna Roussel
Ecris par Léna Roussel

Passionnée de maison et de voyage, j’adore partager des idées simples pour rendre le quotidien plus doux, ici comme ailleurs. Bienvenue chez moi — et sur les routes du monde !

Audit sécurité GotaTun : ce que Mullvad a trouvé et corrigé

Vous faites confiance à un VPN pour chiffrer votre trafic — autant savoir si ce chiffrement repose sur une fondation solide. Le 6 mars 2026, Mullvad VPN a publié les résultats d’un audit de sécurité indépendant portant sur GotaTun, sa nouvelle implémentation WireGuard écrite en Rust. Verdict : aucune vulnérabilité critique, mais deux failles mineures identifiées et corrigées avant même la publication du rapport. Un exercice de transparence rare dans un secteur où les fournisseurs VPN communiquent souvent plus sur leurs prix que sur leur code.

L’audit sécurité Mullvad GotaTun WireGuard s’inscrit dans une politique longue de plusieurs années : Mullvad audite régulièrement ses applications, son infrastructure, ses services de paiement. Pas un geste marketing — une pratique qui, dans le domaine de la cybersécurité, sépare les acteurs sérieux des simples vendeurs de promesses. Si les menaces pesant sur les logiciels courants vous intéressent, le Kit d’exploitation Coruna iPhone : ce malware qui surveille votre téléphone illustre à quel point la vigilance sur le code ne saurait être facultative.


GotaTun : une implémentation WireGuard maison, en Rust

GotaTun est un fork de BoringTun, l’implémentation WireGuard en espace utilisateur développée initialement par Cloudflare. Mullvad l’a repris, réécrit en partie et déployé dans son application Android. Le projet est open source, disponible sur GitHub, et s’appuie sur la licence Mozilla Public License 2.0.

Le protocole WireGuard lui-même est réputé pour sa simplicité et son élégance cryptographique. Mais une spécification irréprochable ne garantit pas une implémentation sans défaut. C’est précisément là qu’intervient l’audit.

Pourquoi auditer une implémentation et pas seulement le protocole ?

Un protocole comme WireGuard peut être mathématiquement solide et néanmoins mal implémenté. Une erreur dans la génération d’identifiants, un oubli dans le traitement des paquets, une dépendance externe fragile — autant de vecteurs d’attaque qui n’ont rien à voir avec la spécification officielle, mais tout à voir avec le code réel qui tourne sur vos appareils.

C’est la distinction fondamentale que cet audit illustre concrètement.

Ce que l’audit a examiné — et ce qu’il a écarté

L’audit a été mené par Assured Security Consultants entre le 19 janvier et le 15 février 2026. Le périmètre couvrait l’ensemble de GotaTun v0.2.0, à trois exceptions notables :

  • Le module DAITA (Defense Against AI-guided Traffic Analysis), fonctionnalité de protection avancée de Mullvad
  • L’interface en ligne de commande GotaTun CLI
  • Les dépendances externes

Les auditeurs ont procédé à une analyse du code source, complétée par des tests d’exécution et une comparaison systématique avec les implémentations de référence de WireGuard, notamment celle intégrée au noyau Linux.

📌 À retenir : L’audit couvre GotaTun v0.2.0. DAITA, le CLI et les dépendances tierces sont hors périmètre — un point à garder en tête pour une lecture nuancée des résultats.

Les deux vulnérabilités de faible gravité

Assured Security Consultants a identifié exactement deux problèmes de gravité "faible" (low severity). Aucune vulnérabilité critique, élevée ou moyenne. Les deux failles ont été corrigées avant la publication du rapport.

Observation 3.2 — Génération des identifiants de session (LFSR)

Dans la version v0.2.0, 24 bits de l’identifiant de session WireGuard associé à un pair étaient statiques pour ce pair. Les 8 bits restants formaient un compteur prévisible qui s’incrémentait à chaque nouvelle session — typiquement toutes les deux minutes environ.

Ce comportement dévie de la spécification officielle de WireGuard, qui recommande de générer un entier aléatoire de 32 bits pour chaque session.

Ce comportement était hérité de BoringTun. Comme le soulignent les auditeurs, la faille ne fournissait probablement qu’une information limitée à un observateur passif : potentiellement le nombre de handshakes effectués, ou le nombre de pairs actifs à un instant donné. Des informations qui peuvent déjà être inférées d’autres données comme les adresses IP et les ports. Mullvad a néanmoins corrigé le code pour se conformer à la spécification.

Observation 3.3 — Remplissage des paquets avant chiffrement

Selon la spécification WireGuard, les paquets doivent être remplis (padded) avant chiffrement de manière à ce que leur longueur soit divisible par 16. Ce remplissage sert à uniformiser la taille des paquets transmis et à compliquer l’analyse du trafic par un observateur extérieur.

Le code source de GotaTun contenait un commentaire "TODO" à ce sujet — commentaire que l’on retrouvait également dans BoringTun, d’où GotaTun est issu. Le code a été mis à jour pour appliquer systématiquement ce remplissage.

⚠️ Attention : Un paquet non rembourré avant chiffrement ne signifie pas que le contenu est lisible — il l’est toujours. Mais la taille variable des paquets peut, dans certains contextes, aider un adversaire à caractériser le type de trafic.

Les recommandations informelles : la dépendance aux bibliothèques externes

Au-delà des deux failles formelles, l’audit a formulé plusieurs notes informelles (informational notes), dont une particulièrement notable : la forte dépendance de GotaTun à certaines bibliothèques externes maintenues par un nombre limité de développeurs.

Ce type de dépendance n’est pas une vulnérabilité en soi — c’est une réalité de l’écosystème Rust, où la granularité des crates (packages) peut créer des chaînes de dépendances complexes. Mais elle représente un risque de supply chain : si une bibliothèque tierce introduit un bug ou est compromise, l’impact peut se propager.

Mullvad a indiqué avoir implémenté la majorité des recommandations avant la publication, et décidé que certaines notes ne nécessitaient pas une attention immédiate.

💡 Astuce : Pour comprendre l’ampleur des risques liés aux vulnérabilités logicielles non corrigées, la CVE-2026-21533 : l’exploit Windows vendu 220 000 $ sur le dark web offre une mise en perspective saisissante sur ce que représente une faille non auditée dans la vraie vie.

Mullvad et l’audit régulier : une culture de la transparence documentée

Le rapport GotaTun n’est pas un événement isolé. Mullvad publie régulièrement des audits de sécurité indépendants, couvrant différents composants de son infrastructure :

Date Périmètre audité Auditeur Résultat
Mars 2026 GotaTun v0.2.0 Assured Security Consultants 0 critique, 2 faibles
Janvier 2026 API de paiement et de compte X41 D-Sec GmbH Audit white-box
Octobre 2025 Application web Assured Security Consultants 0 critique, 1 faible
Mars 2025 App Android (MASA) NCC Group Certification MASA
Décembre 2024 Application VPN Tiers Niveau de sécurité élevé
Juin 2024 Infrastructure (4e audit) Cure53

Cette cadence révèle une stratégie délibérée : ne pas attendre qu’une faille soit exploitée pour agir. Chaque composant critique — application, infrastructure, services de paiement, nouvelles bibliothèques — fait l’objet d’un examen externe avant d’être considéré comme fiable.

En juin 2026, Mullvad a d’ailleurs annoncé que son application Android passait pour la deuxième fois MASA (Mobile Application Security Assessment), évaluation standardisée conduite cette fois par Leviathan Security Group.

Ce que cet audit révèle sur la maturité de GotaTun

La citation synthétique des auditeurs mérite d’être lue avec attention :

"Based on our code review, GotaTun has no major vulnerabilities. However, the parts where it deviates from the WireGuard specification (as described in Observations 3.2 and 3.3) are cause for concern. Furthermore, the code contains some instances of ‘TODO’ comments which should be addressed."
Assured Security Consultants, rapport d’audit GotaTun, février 2026

Deux choses ressortent de cette formulation. D’abord, l’absence de vulnérabilité majeure sur un code encore jeune — GotaTun a été annoncé en décembre 2025 et déployé sur Android peu après. Ensuite, la nature des deux failles identifiées : elles ne sont pas des erreurs de conception cryptographique, mais des déviations par rapport à une spécification, héritées d’un code source tiers (BoringTun). Ce sont précisément les types de problèmes qu’un audit indépendant est conçu pour détecter.

Le fait que ces corrections aient été intégrées avant la publication du rapport est également révélateur d’une organisation rodée : les équipes de Mullvad travaillent en parallèle avec les auditeurs, pas en réaction à leur rapport final.

Les audits comme critère de sélection d’un VPN

Pour un utilisateur choisissant un VPN, l’existence et la régularité des audits indépendants constituent l’un des rares signaux vérifiables de la qualité d’un fournisseur. Les affirmations marketing sur la "politique no-log" ou la "sécurité militaire" ne coûtent rien à rédiger. Un rapport d’audit signé par un cabinet indépendant nommé, avec un périmètre défini, des findings détaillés et des corrections documentées — c’est une autre affaire.

📌 À retenir : Un fournisseur VPN qui publie ses audits avec le détail des failles trouvées, même mineures, démontre davantage de maturité sécurité qu’un fournisseur qui se contente d’affirmer n’avoir jamais été compromis.

GotaTun reste une implémentation récente. Son premier audit ne clôt pas le dossier — il l’ouvre. La prochaine version majeure, les évolutions du module DAITA, les dépendances tierces identifiées comme risquées : autant de surfaces qui mériteront, à leur tour, un examen indépendant. Mullvad a publié le rapport complet et sa propre réponse détaillée sur son blog officiel — une pratique qui, dans l’industrie VPN, reste encore l’exception.