
Récemment, une étude académique a mentionné que X-VPN pour Android pourrait être exposé à des attaques Blind In/On-Path, ce qui a attiré l’attention et conduit à certaines interprétations erronées dans certains médias.
Nous prenons cette affaire très au sérieux et avons immédiatement lancé une enquête interne et des tests de reproduction. Dans un esprit de transparence et de responsabilité, nous partagerons les faits essentiels, l’étendue de l’impact et les actions que nous prenons ensuite.
Table of Contents
Nos principales conclusions
Lors de l’investigation du phénomène observé, nous avons suivi le modèle d’attaque en trois étapes décrit dans la littérature publique, Blind In/On-Path Attacks and Applications to VPNs, et validé les revendications de sécurité contre X-VPN dans un environnement de test contrôlé.
Sur la base d’une vérification axée sur la conformité, nous avons tiré les conclusions suivantes :
- Nous avons déterminé que ce problème de sécurité provient de la configuration/comportement du réseau au niveau de la plateforme Android, représentant un risque au niveau de la plateforme plutôt qu’un défaut de sécurité inhérent à un produit VPN unique.
- Comme ce problème est lié à la configuration du système, il ne peut pas être résolu fondamentalement uniquement au niveau de l’application ; nous n’avons pas non plus les autorisations nécessaires pour modifier ou corriger directement les paramètres au niveau du noyau Android.
- Pour explorer les potentielles atténuations avec un état d’esprit d’apprentissage, nous avons réalisé les mêmes expériences sur plusieurs autres fournisseurs de VPN grand public. Cependant, nous avons observé le même risque, y compris avec ExpressVPN, NordVPN, Surfshark, Norton VPN et Proton VPN.
- Lors de la vérification, nous avons observé de légères variations dans les détails de reproduction, qui peuvent être liées à des changements fonctionnels dans le système.
En raison de considérations de sécurité et d’éthique, nous ne divulguerons pas publiquement de détails techniques qui pourraient être utilisés pour reproduire, exploiter ou amplifier des risques. Toutes les informations et observations nécessaires à la reproduction ont été soumises à Google par le biais de procédures de divulgation responsable afin que la plateforme puisse évaluer et traiter le problème.
Qu’est-ce que les attaques Blind In/On-Path ?
Les attaques Blind In/On-Path sont un type d’attaque : lorsqu’un attaquant, capable d’observer ou de contrôler partiellement le segment de réseau auquel vous êtes connecté, peut identifier une connexion active en sondant et en observant les réponses de l’appareil—et, lorsque les conditions le permettent, perturber cette connexion ou essayer d’injecter des paquets falsifiés.
Le terme « aveugle » ici ne fait pas référence à un handicap physique – cela signifie que l’attaquant ne peut pas voir ou déchiffrer le contenu de la communication, mais peut déduire des faits utiles en mesurant les différences dans le comportement du réseau.
Comment fonctionnent les attaques aveugles dans/à l’intérieur du chemin pendant une session VPN ?
Lorsque vous vous connectez à un service VPN, un tunnel crypté est établi entre votre appareil et le serveur VPN pour permettre une transmission sécurisée des données. Ce tunnel agit comme un manteau noir et impénétrable enveloppant vos données, protégeant efficacement le contenu original contre la lecture ou la manipulation. Les gens ne sauront pas qui vous êtes, ne verront pas quel message vous envoyez, ni n’accéderont directement aux données du formulaire que vous soumettez.
Cependant, même si le contenu est chiffré, certains trafics de sonde peuvent provoquer des réponses observables de votre appareil. Ces réponses elles-mêmes ne révèlent pas les données chiffrées, mais elles peuvent être observées par le propriétaire d’un point d’accès réseau malveillant (comme un Wi-Fi malveillant) et utilisées pour déduire des informations supplémentaires, telles que si vous utilisez un VPN ou quel site Web vous visitez.
En s’appuyant sur ce qui précède, nous pouvons maintenant esquisser les mécanismes des attaques Blind In/On-Path. Imaginez que vous travaillez sur votre téléphone dans un café, avec votre VPN activé et connecté à ce qui semble être le Wi-Fi gratuit du café (qui est en réalité mis en place par un attaquant).
Après cela, une attaque Blind In/On-Path peut être effectuée en suivant les deux étapes suivantes :
Étape 1. Identification
Étape 2. Exploitation / Perturbation
En résumé, l’essence des attaques Blind In/On-Path réside dans leur dépendance à l’observation externe plutôt qu’à la décryption directe. Par conséquent, cette classe d’attaque n’est pas nécessairement causée par le fournisseur de VPN qui gère le chiffrement des données. Les attaques Blind In/On-Path dépendent souvent d’une faiblesse au niveau du système ou de la plateforme qui facilite considérablement l’identification. C’est également le sujet de la section suivante.
Plateformes affectées et portée
À la suite de rapports selon lesquels X-VPN pourrait être vulnérable aux attaques Blind In/On-Path, nous avons rapidement lancé des enquêtes de sécurité sur toutes les plateformes. Grâce à des tests pratiques, nous avons découvert les résultats suivants :
Pour Android :
Mécanisme de vulnérabilité
Android est plus susceptible aux attaques Blind In/On-Path en raison d’une vulnérabilité au niveau de la plateforme.
La cause sous-jacente est qu’Android n’active pas le filtrage strict du chemin inverse (c’est-à-dire que le paramètre système net.ipv4.conf.all.rp_filter n’est pas défini sur 1). Dans cette configuration, Android ne vérifie pas le chemin source des paquets entrants ; le trafic arrivant sur n’importe quelle interface réseau peut être transféré à l’interface cible et provoquer une réponse.
Sur Android, lors de la connexion à un service VPN, les applications utilisent l’API VpnService pour demander au système d’exploitation de créer une interface réseau virtuelle nommée Tun. Par la suite, le trafic de l’appareil traverse cette interface Tun vers le client VPN, puis est acheminé à travers un tunnel crypté vers le serveur VPN. Cela constitue le mécanisme fondamental par lequel les VPN protègent les données des utilisateurs sur Android.
Maintenant, supposons que vous êtes connecté à un réseau Wi-Fi fictif mis en place par un attaquant. L’attaquant peut créer des paquets falsifiés dont l’adresse IP de destination est égale à l’adresse de l’interface Tun.
Lors du traitement de tels paquets, le système a deux options : les rejeter ou les transférer et répondre. Comme le rp_filter n’est pas strictement activé, Android choisit la dernière option : il transfère ces paquets falsifiés de l’interface WLAN à l’interface Tun et déclenche une réponse. Par conséquent, l’attaquant peut déduire l’état de communication de l’interface réseau de la victime à travers ces réponses et, dans certaines conditions, perturber les connexions ou injecter/modifier le contenu de la communication.

Baseline (rp_filter strict=1) vs. Vulnérable (RPF lâche/désactivé)


En supposant que le nom de l’interface de réseau virtuel VPN est Tun0, et en supposant que le nom de l’interface de réseau Wi-Fi de l’appareil est WLAN0.
Origine de la vulnérabilité
Nous avons observé que cette vulnérabilité provenait du document Blind In/On-Path Attacks and Applications to VPNs et a été assignée au numéro CVE CVE-2019-14899.
Les auteurs rapportent une vulnérabilité observée sur Linux, FreeBSD, OpenBSD, macOS, iOS et Android qui permet à un point d’accès malveillant ou à un utilisateur adjacent de déterminer si une cible utilise un VPN, de faire des inférences actives sur les sites Web visités et d’identifier les numéros de séquence TCP et d’accusé de réception corrects. Cela, à son tour, peut permettre à un attaquant d’injecter des données dans le flux TCP, fournissant les conditions nécessaires pour détourner des connexions actives à l’intérieur d’un tunnel VPN.
Correction de vulnérabilité
Après avoir identifié la vulnérabilité, nous avons tenté de mettre en œuvre un correctif. Cependant, sur les systèmes Android, notre application n’a pas de privilèges root, ce qui rend impossible de résoudre complètement le problème.
En fait, dès 2019, Proton a publié une déclaration officielle concernant CVE-2019-14899, affirmant de manière similaire que la cause profonde de tels problèmes provient des méthodes de traitement ou des défauts de configuration au niveau de la plateforme/système. Cela nécessite des corrections de la part des fournisseurs de la plateforme, et non des erreurs de conception au sein d’une application VPN spécifique. En d’autres termes, la remédiation nécessite des correctifs du côté du fournisseur ou des modifications de configuration au niveau du système ; des solutions de contournement au niveau de l’application à elles seules sont peu susceptibles de résoudre complètement le problème.
Cependant, d’après nos résultats de test actuels, cette vulnérabilité ne semble pas être complètement corrigée sur les appareils Android. Nous avons encore pu reproduire partiellement le problème ; de plus, après avoir ajusté certains détails de l’attaque, nous avons pu reproduire complètement la vulnérabilité, c’est-à-dire atteindre les objectifs de l’attaque en trois étapes décrits dans Blind In/On-Path Attacks and Applications to VPNs.
Pour Linux :
Lors des tests sur la plateforme Linux, nous avons également détecté des comportements au niveau du système similaires à ceux observés sur Android. Cependant, Linux permet aux utilisateurs de posséder des privilèges root, ce qui nous permet de réduire ces vulnérabilités en ajustant les paramètres réseau du noyau ou en déployant des protections au niveau du système aux points d’entrée pour filtrer ou rejeter le trafic falsifié qui ne devrait pas atteindre les interfaces réseau virtuelles.
Pour macOS & iOS & Windows :
Dans le cadre de la documentation publique et de nos tests conformes, macOS et iOS n’ont pas montré de modèles de réponse exploitables identiques à ceux observés dans certaines implémentations Android. De même, Windows n’a pas affiché un comportement problématique équivalent lors de nos tests publics et de notre revue de la littérature. En d’autres termes, macOS, iOS et Windows ne sont actuellement pas affectés par cette vulnérabilité.
Ce que nous avons fait jusqu’à présent
Malgré les résultats de notre enquête indiquant que la vulnérabilité provenait du niveau système/plateforme plutôt que d’un défaut du logiciel X-VPN, nous restons déterminés à donner la priorité à la sécurité des utilisateurs et avons pris les mesures suivantes en réponse à ce risque de sécurité :
1. Signalé à Google : Nous avons suivi un processus de divulgation responsable via l’outil officiel de signalement des vulnérabilités de Google, en soumettant des données de reproduction claires, des notes d’observation, l’étendue de l’impact et tous les artefacts pertinents. Nous coopérons activement avec le processus d’évaluation de la plateforme.

2. Atténuation Linux terminée : Nous avons mis en œuvre des mesures de protection sur les plateformes Linux en configurant iptables pour bloquer tout le trafic tiers dirigé vers l’adresse IP de notre interface tun0.
3. Exploration des atténuations au niveau de l’application sur Android : En nous basant sur des recherches et des documents publics, nous explorons des stratégies d’atténuation sans accès root sur Android, telles que la surveillance et la protection contre les comportements de détection anormaux. Bien que ces approches puissent atténuer les risques dans certains scénarios, elles ne constituent pas une solution fondamentale. Elles peuvent également introduire une instabilité de connexion et des vulnérabilités potentielles de déni de service. Pour l’instant, la recherche est en cours.
4. Clarification des communications externes et traitement des malentendus médiatiques : Nous clarifions les faits par le biais du canal officiel auprès des utilisateurs, des partenaires et des médias. Nous continuerons à partager des mises à jour de manière transparente et responsable pour éviter toute alarme inutile ou conclusions trompeuses.
En parallèle, X-VPN continue de renforcer la confidentialité et la sécurité aux niveaux technique et communautaire :
1. Audits de code et analyses de vulnérabilité régulières : Nous effectuons régulièrement des audits de code et des analyses de vulnérabilité périodiques pour garantir que notre client atteint un bon équilibre entre fonctionnalité et sécurité.
2. Programme de Récompense de Bugs : X-VPN collabore activement avec les utilisateurs, accueillant et incitant les chercheurs en sécurité à soumettre des rapports de sécurité responsables via notre canal officiel. Nous récompensons les problèmes valides et reproductibles avec une récompense de bug pour améliorer la sécurité globale de notre écosystème.
Recommandations pour les utilisateurs
Bien sûr, jusqu’à ce que Google publie un correctif au niveau du système ou que nous développions une solution d’atténuation stable et sans accès root, les utilisateurs d’Android doivent prendre des mesures d’auto-protection efficaces pour réduire les risques de confidentialité et de sécurité. Voici quelques recommandations simples et concrètes :
- Évitez les réseaux Wi-Fi publics non fiables sur Android ; privilégiez les réseaux de confiance ou les données mobiles dans des environnements inconnus.
- Priorisez les sites et applications chiffrés en HTTPS/TLS ; évitez de transmettre des informations sensibles, y compris les noms d’utilisateur/mots de passe, les vrais noms, les adresses et les numéros de carte bancaire, via HTTP en texte clair.
- Activez l’authentification multi-facteurs (MFA) pour les opérations de compte sensibles à la vie privée ou critiques afin d’ajouter une couche de protection supplémentaire.
- Maintenez votre système et vos applications à jour pour bénéficier des améliorations de sécurité au niveau de la plateforme (c’est-à-dire, les mises à jour officielles de correction de bogues Android).
- Si vous rencontrez un comportement réseau anormal lors de votre navigation, comme des déconnexions fréquentes ou une redirection vers des pages suspectes, évitez toute opération sensible sur ce réseau et déconnectez-vous immédiatement.
De plus, X-VPN pour Android propose une fonctionnalité Kill Switch pour tous les utilisateurs. Nous recommandons d’activer cette fonctionnalité dans des environnements de réseau publics ou non fiables – même les utilisateurs gratuits peuvent l’utiliser pour se déconnecter immédiatement du réseau si le VPN se déconnecte de manière inattendue, minimisant ainsi les risques potentiels d’exposition des données.

Prochaines étapes & Contact
À l’avenir, nous suivrons de près les évaluations et les progrès de remédiation des fournisseurs de plateformes pertinents comme Google, en gardant la sensibilisation et la sécurité des utilisateurs comme notre priorité absolue.
À condition que la divulgation externe ne pose pas de risques pour la sécurité, nous publierons rapidement toute information disponible publiquement ou tout guide utilisateur actionnable dès qu’il sera disponible. Si Google publie des correctifs système, X-VPN préparera et déploiera simultanément les mises à jour nécessaires du client et les instructions opérationnelles pour aider nos utilisateurs à obtenir une protection complète dès que possible.
En parallèle, nous menons un audit de sécurité indépendant par un tiers pour améliorer la transparence et valider nos engagements en matière de protection de la vie privée et de la politique de non-conservation des logs. Une fois terminé, nous partagerons publiquement les résultats de l’audit avec tous les utilisateurs.
Cette déclaration est basée sur notre réplication et analyse à travers diverses plateformes et appareils. Cependant, en raison des différences entre les plateformes et de l’incertitude des mises à jour futures, certains scénarios peuvent rester non couverts ou les interprétations peuvent varier. Si vous identifiez des erreurs, des informations supplémentaires ou des suggestions correctives réalisables, veuillez nous contacter à : security@xvpn.io.
Sincères remerciements à tous les utilisateurs pour votre soutien,
L’équipe X-VPN
FAQs
Pourquoi X-VPN ne partage-t-il pas les détails des tests ?
Nous ne divulguons pas de procédures de test spécifiques ni de détails de reproduction principalement par souci de sécurité des utilisateurs et de responsabilité dans l’industrie. Rendre des détails opérationnels exploitables disponibles publiquement fournirait aux acteurs malveillants un vecteur d’attaque « type », amplifiant ainsi les risques. Pour cette raison, nous ne soumettons que les informations nécessaires aux fournisseurs de plateformes par le biais de canaux contrôlés et conformes.
Pourquoi Android est-il actuellement la seule plateforme vulnérable aux attaques Blind In/On-Path ?
Notre recherche indique qu’Android présente une vulnérabilité au niveau du système qui facilite la réalisation d’attaques Blind In/On-Path. Étant donné que les fournisseurs de VPN n’ont pas de privilèges root sur Android, nous ne pouvons pas résoudre ce problème à sa source. Bien que Linux partage des vulnérabilités similaires avec Android, les fournisseurs de VPN possèdent des privilèges root sur cette plateforme, ce qui nous permet de mettre en œuvre des mesures de protection. Et pour macOS, iOS et Windows, nous n’avons pas encore trouvé la même vulnérabilité exploitable.
Seuls certains fournisseurs de VPN sont-ils affectés ?
Non. Ce problème de sécurité ne provient pas de certains problèmes de produit, mais plutôt d’un risque au niveau de la plateforme sur Android. Notre vérification limitée a révélé les mêmes problèmes de sécurité dans d’autres VPN grand public, ce qui nous amène à conclure que le problème est répandu.
Cela signifie-t-il que X-VPN lui-même n’est pas sécurisé ?
Non, X-VPN lui-même est sécurisé. Notre cryptage de transmission, protection de la vie privée et pratiques de sécurité quotidiennes restent constamment efficaces et continuellement renforcées, garantissant que les données des utilisateurs restent protégées contre tout accès non autorisé. En ce qui concerne la récente vulnérabilité Android, nous travaillons activement avec les fabricants pour faciliter les corrections et améliorer les mesures d’atténuation côté client afin de minimiser les risques pour nos utilisateurs.