Une fuite WebRTC, c'est votre navigateur qui transmet votre véritable adresse IP à un site web pendant que vous pensez être caché derrière un VPN. Ce n'est pas un bug de votre VPN et ce n'est pas un logiciel malveillant. C'est WebRTC qui fait exactement ce pour quoi il a été conçu : trouver le chemin réseau le plus rapide possible entre deux navigateurs, ce qui suppose de découvrir d'abord votre véritable adresse IP.

Qu'est-ce qu'une fuite WebRTC

WebRTC (Web Real-Time Communication) est l'API du navigateur derrière les appels vidéo, le chat vocal et le transfert de fichiers pair à pair qui fonctionnent sans plugin. Jitsi, Google Meet, le vocal de Discord et la plupart des outils d'appel vidéo dans le navigateur l'utilisent.

Pour connecter deux navigateurs directement au lieu de relayer chaque paquet par un serveur, WebRTC doit connaître la véritable adresse IP de chaque côté. Il l'obtient grâce à STUN (Session Traversal Utilities for NAT), une requête légère qui demande à un serveur « quelle est mon IP publique vue de l'extérieur de mon routeur ? ». Cette requête passe par la pile réseau propre au navigateur, et non par le tunnel que le client de votre VPN a mis en place pour le reste de votre trafic. Si votre VPN ne l'intercepte pas explicitement, la réponse STUN revient avec votre véritable IP, et n'importe quelle page exécutant du JavaScript WebRTC peut la lire.

Une lacune du VPN, pas une défaillance du VPN

Votre VPN continue de chiffrer et de rediriger correctement votre trafic général. La fuite emprunte un chemin de code distinct que la plupart des clients VPN ne touchent tout simplement pas, sauf si l'éditeur a intégré volontairement la gestion de WebRTC. Cherchez spécifiquement « protection contre les fuites WebRTC » dans la documentation du VPN, pas seulement « kill switch ».

Comment la fuite se produit réellement

  1. Une page charge du code WebRTC (un widget d'appel vidéo, un script de fingerprinting d'une régie publicitaire, tout ce qui appelle RTCPeerConnection).
  2. Le navigateur envoie une requête STUN pour découvrir son IP publique dans le cadre de la collecte des candidats ICE.
  3. Cette requête sort par la pile réseau du système d'exploitation, là où, dans la plupart des configurations VPN, le tunnel devrait l'intercepter, mais souvent ne le fait pas.
  4. Le JavaScript de la page lit directement les candidats IP renvoyés, sans aller-retour serveur, et dispose désormais de votre véritable adresse.

C'est aussi pour cela que la solution n'est pas aussi simple que « bloquer WebRTC ». STUN, TURN et ICE sont le mécanisme même qui rend les appels vidéo pair à pair rapides, et le même processus de collecte des candidats documenté par MDN pour créer des applications WebRTC est celui qui fait fuir votre IP par effet de bord. Notre comparatif STUN vs TURN vs ICE et notre guide de l'architecture WebRTC expliquent comment fonctionne cette négociation si vous voulez la mécanique en détail.

Tous les navigateurs ne sont pas égaux

Une étude de mesure multiplateforme publiée en octobre 2025 a montré que la surface de fuite varie beaucoup selon la plateforme : Chrome était le plus exposé, révélant sur mobile des adresses du réseau local (LAN) ou de NAT opérateur (CGNAT) ; Firefox résistait bien sur ordinateur mais laissait fuir des IP internes sur Android ; et Tor Browser bloquait tous les vecteurs de fuite testés par les chercheurs. Si vous standardisez un seul navigateur pour une équipe sensible à la confidentialité, mieux vaut le savoir avant de choisir.

Ce qui est réellement exposé

Exposé Non exposé
Votre véritable adresse IP publique L'historique de navigation ou le contenu des pages
Localisation géographique approximative (à l'échelle de la ville, via l'IP) Identifiants de connexion ou cookies de session
Votre fournisseur d'accès, déductible du bloc d'IP Fichiers ou contenu du presse-papiers

Le risque concret est le recoupement, pas le vol de données. Si un site ou un annonceur parvient une fois à relier votre session VPN à votre véritable IP, il peut potentiellement associer votre navigation « anonyme » à votre identité ou à votre localisation réelles lors de visites ultérieures.

Comment tester une fuite WebRTC

Connectez votre VPN, puis ouvrez browserleaks.com/webrtc ou ipleak.net. Les deux listent toutes les adresses IP que la pile WebRTC de votre navigateur est prête à communiquer. Comparez-les à l'IP de votre VPN (vérifiez-la séparément sur n'importe quelle page « quelle est mon IP » avec le VPN activé).

Les IP locales ne sont pas automatiquement une fuite

Vous verrez peut-être dans les résultats une adresse de plage privée (192.168.x.x, 10.x.x.x) ou un nom d'hôte de type mDNS se terminant par .local. Depuis la version 75 (2019), Chrome masque par défaut les IP du réseau local derrière mDNS, précisément pour qu'elles n'apparaissent pas en clair. Ce que vous cherchez, c'est une adresse IP publique qui n'est pas celle de votre VPN. C'est cela, la vraie fuite.

Si vous préférez l'observer vous-même plutôt que de vous fier à un site tiers, ouvrez les DevTools (F12), allez dans l'onglet Network et chargez l'une des pages de test ci-dessus avec les filtres WebSocket/other désactivés. Vous verrez partir la requête STUN et revenir les IP candidates dans la réponse, les mêmes données que le site de test se contente de mettre en forme.

Vous pouvez aussi faire la vérification sans site tiers : ouvrez notre testeur ICE WebRTC avec le VPN activé, choisissez le préréglage STUN et collectez les candidats. Si un candidat server reflexive affiche votre véritable IP publique au lieu de celle du VPN, c'est la fuite.

Corriger une fuite IP WebRTC selon le navigateur

Navigateur Que faire Contrepartie
Firefox about:config → passer media.peerconnection.enabled à false Désactive complètement WebRTC et casse Meet, le vocal de Discord et tout site utilisant RTCPeerConnection
Chrome / Edge Aucun réglage pour l'utilisateur. Utilisez une extension basée sur l'API webRTCIPHandlingPolicy de Chrome (voir ci-dessous) Impose de faire confiance à une extension tierce
Safari WebRTC est activé par défaut depuis Safari 11 ; il n'y a pas non plus d'interrupteur simple pour le désactiver Moins d'extensions disponibles que pour Chrome/Firefox

Comme un interrupteur qui coupe complètement WebRTC casse les appels vidéo légitimes, une extension de navigateur qui restreint le routage de WebRTC au lieu de désactiver toute l'API est la solution la plus pratique pour la plupart des gens. Chrome expose une API de confidentialité qui permet à une extension de régler webRTCIPHandlingPolicy sur disable_non_proxied_udp, ce qui oblige WebRTC à passer par l'interface proxy ou VPN configurée au lieu de sortir directement. WebRTC Leak Prevent est une extension actuelle et open source basée précisément sur cette API.

uBlock Origin ne le fait plus sur ordinateur

Les anciens guides (y compris une version précédente de celui-ci) renvoient au réglage « Prevent WebRTC from leaking local IP addresses » d'uBlock Origin. Cette option a été retirée de la version ordinateur d'uBlock Origin dans la v1.38 et n'existe plus que dans la version pour Firefox sur Android. Sur Chrome ou Firefox pour ordinateur, elle ne fait plus rien ; utilisez plutôt la stratégie Chrome ci-dessus ou le réglage de Firefox.

Quelle que soit la solution choisie, refaites ensuite le test de la section précédente. Les mises à jour du navigateur désactivent les extensions plus souvent qu'on ne le pense.

Le rôle de votre VPN

Tous les VPN ne gèrent pas cela de la même façon, et les arguments marketing (« chiffrement de niveau militaire », « anonymat total ») ne disent rien sur WebRTC en particulier. Avant de compter sur un VPN pour couvrir ce point, cherchez :

  • Une mention explicite de la protection contre les fuites WebRTC dans la documentation du VPN, pas seulement une protection contre les fuites DNS ou un kill switch (ce sont des mécanismes différents)
  • Une extension de navigateur du même éditeur, car le blocage des fuites WebRTC est généralement mis en œuvre au niveau de l'extension, et non dans le client VPN du système d'exploitation
  • Des résultats de tests indépendants, pas seulement les affirmations de l'éditeur

Vérifiez ensuite vous-même avec le test précédent, sur le navigateur et l'appareil que vous utilisez au quotidien. Un VPN qui bloque les fuites WebRTC sur Chrome pour ordinateur ne fait pas forcément de même dans son application mobile.

Si vous préférez ne pas dépendre de la parole d'un éditeur de VPN tiers pour tout cela, la solution est de faire tourner le vôtre. Notre comparatif des VPN auto-hébergés couvre des installations OpenVPN, WireGuard et Headscale dans lesquelles vous contrôlez la configuration du client de bout en bout.

Si vous développez avec WebRTC

Si c'est vous qui faites tourner l'infrastructure de visioconférence, et non pas seulement l'utilisateur, la question des fuites s'inverse : vous voulez une découverte d'IP précise pour que les appels se connectent en pair à pair au lieu d'être relayés par un serveur TURN à chaque session. La question de confidentialité devient alors ce que fait votre propre code côté client des IP candidates qu'il collecte, et si vous les journalisez quelque part où vous ne devriez pas. Les déploiements auto-hébergés (par exemple Jitsi derrière votre propre instance coturn) vous donnent sur ce flux de données une visibilité qu'un outil SaaS hébergé n'offre pas.

Les adresses IP sont des données personnelles au sens du RGPD et de réglementations similaires : si votre application sert des utilisateurs dans l'UE, journaliser les IP candidates brutes des sessions WebRTC est une décision à prendre délibérément plutôt que par défaut. Consultez nos notes sur les déploiements WebRTC conformes au RGPD et nos bonnes pratiques de sécurité pour Jitsi Meet si c'est vous qui exploitez l'infrastructure et pas seulement un utilisateur.

Questions fréquentes

Qu'est-ce qu'une fuite WebRTC ?

Une fuite WebRTC (WebRTC leak) se produit quand le moteur WebRTC de votre navigateur révèle votre véritable adresse IP à un site web, alors que vous êtes connecté via un VPN. Cela arrive parce que WebRTC effectue sa propre découverte d'IP (via STUN) hors du contrôle du VPN, et non parce que le VPN lui-même a échoué.

Comment tester une fuite WebRTC ?

Ouvrez browserleaks.com/webrtc ou ipleak.net avec votre VPN connecté. Si vous voyez une adresse IP autre que celle de votre VPN, c'est une fuite. L'apparition d'IP locales ou privées (192.168.x.x, 10.x.x.x) n'est pas une fuite en soi, car Chrome les masque par défaut derrière mDNS, mais une IP publique qui n'est pas celle de votre VPN en est une.

Désactiver WebRTC dans le navigateur règle-t-il le problème ?

Oui, mais c'est un outil grossier. Dans Firefox, passer media.peerconnection.enabled à false dans about:config désactive complètement WebRTC, ce qui casse aussi Google Meet, le vocal de Discord et tout site qui appelle RTCPeerConnection. Chrome n'a pas d'interrupteur unique équivalent. Si vous dépendez au quotidien d'appels vidéo basés sur WebRTC, une extension ciblée est généralement un meilleur compromis que de désactiver complètement l'API.

Que révèle réellement une fuite WebRTC ?

Votre véritable adresse IP publique. À partir d'elle, un site peut déduire votre localisation géographique approximative et votre fournisseur d'accès, et la rapprocher d'autres sessions où votre VPN n'était pas actif. Elle ne révèle ni l'historique de navigation, ni les identifiants, ni le contenu des fichiers.

Pourquoi est-ce important si j'utilise déjà un VPN ?

Parce que la fuite se produit à un niveau que le VPN ne touche pas. Un VPN redirige votre trafic IP général, mais les requêtes STUN de WebRTC peuvent obtenir votre véritable IP directement via la pile réseau. Que votre VPN la bloque dépend de la prise en charge de WebRTC intégrée par l'éditeur à son client, et non du protocole VPN lui-même.

Comment empêcher un VPN de laisser fuir le trafic WebRTC ?

Vérifiez si le client de votre VPN documente spécifiquement une protection contre les fuites WebRTC (pas seulement un 'kill switch' ou une 'protection contre les fuites DNS', qui sont autre chose). Si ce n'est pas le cas, ou si vous n'êtes pas sûr, ajoutez une extension de navigateur qui bloque WebRTC comme seconde couche, puis refaites le test avec le VPN activé.

Chrome et Firefox sont-ils tous deux vulnérables ?

Les deux implémentent WebRTC, donc les deux peuvent fuir. Depuis Chrome 75 (2019), Chrome masque par défaut les IP du réseau local derrière des noms d'hôte mDNS, ce qui ferme automatiquement une voie de fuite. Cela n'empêche pas STUN de découvrir votre véritable IP publique. Safari prend en charge WebRTC par défaut depuis Safari 11 : le vieux conseil selon lequel Safari serait 'immunisé' est donc dépassé.

Les navigateurs mobiles sont-ils aussi concernés ?

Oui. Chrome et Firefox sur mobile utilisent la même pile WebRTC que sur ordinateur, donc la même fuite basée sur STUN s'applique. La solution est la même : vérifiez comment l'application de votre VPN gère WebRTC, et utilisez une extension qui bloque WebRTC si votre navigateur mobile accepte les extensions.

Vous faites tourner votre propre infrastructure WebRTC ?

Nous déployons et sécurisons des installations Jitsi et coturn auto-hébergées pour les équipes qui veulent maîtriser où vont réellement les données d'appel et de connexion.

Parlez à notre équipe