Tiktok est à la mode, tout comme les trous de sécurité. C'est le cas d'une dernière faille décelée par l'équipe 365 Defender Research de Microsoft dans l'application Android du réseau social. Téléchargée plus d'1,5 milliard de fois, ce programme constitue un terrain de jeu de premier plan pour les cyberpirates. Pour éviter les drames, les chercheurs en sécurité ont prévenu la maison-mère Byte Dance en février dernier de la vulnérabilité, depuis identifiée en tant que CVE-2022-28799 et corrigée par TikTok. Il est donc chaudement recommandé aux utilisateurs de cette version de vérifier qu'ils exécutent bien la version à la plus à jour de cette application.

La faille découverte par Microsoft dans l'app Android TikTok aurait pu permettre à des attaquants de compromettre les comptes des utilisateurs en un seul clic. A ce jour, aucune preuve d'exploit a été trouvée. « La vulnérabilité a permis de contourner la vérification des liens profonds de l'application. Les attaquants pourraient forcer l'application à charger une URL arbitraire dans la WebView de l'application, permettant à l'URL d'accéder ensuite aux ponts JavaScript attachés à la WebView et d'accorder des fonctionnalités aux attaquants », explique l'éditeur dans un billet de blog.

Des bonnes pratiques à suivre

L'exploitation de ce trou de sécurité repose sur l'implémentation par l'application d'interfaces JavaScript qui sont fournies par un composant d'Android appelé WebView. « Le chargement de contenu Web non approuvé dans WebView avec des objets accessibles via du code JavaScript rend l'application vulnérable à l'injection d'interface JavaScript, ce qui peut entraîner une fuite de données, une corruption des données ou, dans certains cas, une exécution de code arbitraire », ont prévenu les chercheurs. En contrôlant l'une des méthodes capables d'effectuer des requêtes HTTP authentifiées, un acteur malveillant aurait pu alors compromettre un compte d'utilisateur TikTok.

Pour se prémunir de l'exploit lié aux interfaces JavaScript, Microsoft donne quelques conseils comme le fait d'utiliser une liste approuvée de domaines de confiance à charger dans WebView de l'application pour empêcher le chargement de contenu Web malveillant ou non fiable. Des bonnes pratiques de développement sont aussi précisées : 

- Utiliser le navigateur par défaut pour ouvrir les URL qui n'appartiennent pas à la liste approuvée de l'application ;
- Tenir à jour la liste approuvée et suivez les dates d'expiration des domaines inclus. Cela peut empêcher les attaquants de détourner WebView en revendiquant un domaine expiré sur la liste certifiée ;
- Éviter d'utiliser des méthodes de comparaison de chaînes partielles pour comparer et vérifier une URL avec la liste approuvée des domaines de confiance ;
- Éviter d'ajouter des domaines d'étape ou de réseau interne à la liste approuvée car ces domaines pourraient être usurpés par un attaquant pour détourner WebView.