Trois jours après son lancement, l'application européenne de vérification d'âge accumule les failles de sécurité. Un chercheur a tout contourné en éditant un fichier texte.

Anatomie d'une mauvaise blague © Naïm Bada / Clubic
Anatomie d'une mauvaise blague © Naïm Bada / Clubic

L'application devait incarner le meilleur de l'Europe en matière de protection des mineurs en ligne. Le 16 avril, le consultant en cybersécurité Paul Moore a publié sur X une démonstration de contournement complet, réalisée en moins de deux minutes. Trois mécanismes de sécurité distincts ont cédé. Le même jour, l'expert français Bluetouff a mis en lumière des pratiques de développement douteuses dans le SDK du projet. La France fait partie des sept pays pilotes de cette app, présentée comme un prototype du futur portefeuille d'identité numérique européen.

Trois verrous de sécurité, zéro résistance

Le premier problème est le plus spectaculaire. L'app demande de créer un code PIN lors de la configuration. Ce code est chiffré et stocké dans un fichier local appelé shared_prefs. Mais le chiffrement n'est pas lié cryptographiquement au coffre qui contient les données d'identité. En supprimant deux valeurs dans ce fichier et en relançant l'app, n'importe qui peut définir un nouveau PIN. Les justificatifs d'âge du profil précédent restent accessibles.

Deuxième couche : la protection anti-force brute. Le compteur qui limite les tentatives de saisie du PIN est stocké dans le même fichier éditable. Le remettre à zéro prend quelques secondes et ouvre la voie à des tentatives illimitées. Troisième couche : l'authentification biométrique. Un simple booléen dans le même fichier contrôle son activation. Le passer à « false » désactive toute vérification biométrique.

L'app stocke par ailleurs des images biométriques brutes sur l'appareil, sans chiffrement. Les selfies et les photos extraites des passeports par NFC restent en clair dans le système de fichiers. En cas d'échec ou de plantage, ces fichiers ne sont pas supprimés. Pour une app qui revendique les plus hauts standards de confidentialité, les données biométriques au sens du RGPD traînent en accès libre sur le téléphone.

Quand le mode d'emploi officiel documente une attaque

Les failles documentées jusqu'ici touchent l'app Android. Le SDK iOS du projet soulève d'autres questions. Sur le site officiel ageverification.dev, la documentation explique comment configurer l'application pour accepter des certificats auto-signés. Le code proposé désactive la vérification TLS. Concrètement, il ouvre la porte à des interceptions de type « homme du milieu » (MITM), où un tiers peut se placer entre l'app et le serveur.

Cette section vise le développement local avec un émulateur. Elle figure pourtant dans la documentation officielle d'un projet d'identité numérique souverain. Un développeur pressé pourrait la reproduire en production sans en mesurer les conséquences. Le même SDK contient des identifiants secrets codés en dur dans le code source. Des variables d'environnement seraient la pratique standard pour un projet de cette sensibilité.

Ces éléments ne sont pas des failles exploitables en production aujourd'hui. Ils révèlent une culture de sécurité en décalage avec l'ambition affichée. L'app a été développée par Scytáles et T-Systems pour servir de brique au futur portefeuille numérique européen, attendu fin 2026. Une faille architecturale plus profonde avait déjà été repérée en mars. Le composant émetteur ne peut pas vérifier que la lecture du passeport a bien eu lieu sur l'appareil. Corriger ce défaut impliquerait d'envoyer les données cryptographiques du passeport à un serveur, ce qui anéantirait les promesses de confidentialité.

La Commission européenne n'a pas répondu publiquement. Le code est open source, censé garantir la confiance. Pour l'instant, il garantit surtout la visibilité des dégâts.

Meilleur antivirus : le comparatif en avril 2026
À découvrir
Meilleur antivirus : le comparatif en avril 2026
Comparatifs services