Description du problème

Une faille récemment identifiée dans la pile réseau d’Android autorise n’importe quelle application à transmettre des paquets hors du tunnel VPN, même lorsque l’option « Block all connections without VPN » est activée. Aucun droit spécial n’est requis ; l’application malveillante exploite uniquement les API publiques du système. Le résultat est la divulgation de l’adresse IP réelle de l’appareil, ouvrant la porte à un suivi ou à une surveillance non désirés.

Mécanisme technique du contournement

Le contournement repose sur la création d’une connexion UDP de type keep‑alive, destinée à faciliter le NAT traversal. Android délègue cette connexion au composant matériel du chipset Wi‑Fi ou cellulaire, qui l’envoie directement depuis le matériel. Les paquets sont émis sur le port 4500, le même utilisé par IPsec IKE. Parce que le trafic est généré en dehors du processus du système d’exploitation, le filtre VPN qui impose le passage de tout le trafic via le tunnel ne les intercepte pas. Ainsi, chaque paquet UDP sortant révèle l’adresse IP publique du dispositif.

Implications pour la confidentialité

Le fait que le contournement ne nécessite aucune permission rend la menace largement exploitable : toute application distribuée via un magasin d’applications ou un site tiers peut déclencher la fuite dès son installation. La visibilité de l’adresse IP réelle compromet les protections offertes par les services VPN, notamment ceux qui masquent la localisation géographique ou contournent la censure. De plus, la fuite se produit avant que le client VPN ne prenne le contrôle du trafic, ce qui rend les mesures de surveillance réseau classiques inefficaces.

Possibles mitigations et limites

Le matériel réseau d’Android ne supporte qu’un nombre limité de connexions keep‑alive simultanées. En théorie, une application pourrait saturer cette capacité en créant ses propres connexions jusqu’à atteindre le plafond, empêchant ainsi les applications malveillantes d’en ouvrir de nouvelles. Cette approche reste incertaine : elle nécessite l’envoi de paquets hors du tunnel vers un serveur contrôlé, ce qui ne résout pas le problème de base et dépend du moment où le VPN est lancé. GrapheneOS a reconnu la vulnérabilité et travaille sur un correctif au niveau du système, mais aucune mise à jour officielle d’Android n’est prévue. Le rapport soumis au programme Android Vulnerability Reward a été clôturé sans action, ce qui suggère une faible probabilité d’intervention de Google à court terme. En attendant, la recommandation la plus fiable consiste à n’installer que des applications de sources vérifiées et, si possible, à privilégier des forks Android axés sur la sécurité comme GrapheneOS.