Le Spelljacking est une vulnérabilité à faible risque mais fascinante qui pourrait entraîner l’envoi non chiffré de données sensibles telles que vos identifiants de connexion aux serveurs Google ou Microsoft. Cela rappelle que les risques de sécurité peuvent émerger uniquement des interactions complexes de fonctionnalités autrement innocentes.

La fonction de vérification orthographique améliorée de certains navigateurs peut amener les sites Web à envoyer des données sensibles non chiffrées aux services de vérification orthographique en ligne, y compris des mots de passe. Cette vulnérabilité d’exposition aux données sensibles a été signalée à l’origine en septembre 2022 et a reçu le nom médiatique de spelljacking . Alors que les sites vulnérables les plus en vue auraient résolu le problème, le orthographe mérite certainement un second regard en tant qu’exemple de risques de sécurité cachés dans la complexité des fonctionnalités bénignes.

Qu’est-ce que l’orthographe ?

Le orthographe se produit lorsque votre navigateur envoie des données sensibles saisies sur un site Web à un service de vérification orthographique en ligne. Cela peut se produire lorsque la vérification orthographique améliorée est activée dans votre navigateur (Google Chrome ou Microsoft Edge) et que le site Web ou l’application n’exclut pas correctement les champs contenant des données sensibles de la vérification orthographique. Lorsque les deux conditions sont remplies, votre navigateur peut envoyer non seulement du texte que vous voudriez normalement vérifier, mais également des chaînes qui doivent rester secrètes, telles que des identifiants de connexion ou des numéros de carte de crédit. Et même si le site masque les mots de passe lorsque vous les saisissez, ils peuvent toujours être envoyés lorsque vous utilisez la fonction Afficher le mot de passe .

Contrairement à la vérification orthographique locale dans le navigateur, qui utilise un dictionnaire spécifique à la langue installé sur votre ordinateur, la vérification orthographique améliorée fonctionne en envoyant le contenu de vos champs de texte à un service Web fourni par le fournisseur du navigateur. En activant la vérification orthographique améliorée, vous demandez au navigateur d’envoyer tout ce que vous tapez à Google ou à Microsoft pour vérification (selon le navigateur) – et de l’envoyer en texte brut car chaque mot doit être recherché dans un dictionnaire. Bien que vous puissiez vous attendre à ce que cela soit fait uniquement pour les champs où la vérification orthographique a du sens, cela pourrait également se produire pour d’autres champs, entraînant une exposition des données sensibles.

Pourquoi l’orthographe est-elle possible ?

Cette vulnérabilité est un exemple fascinant de fonctionnalités parfaitement innocentes interagissant de manière complexe et inattendue. Un correcteur orthographique en ligne est un compagnon naturel des fonctionnalités du navigateur telles que les suggestions de recherche et la saisie semi-automatique, avec l’avantage supplémentaire que votre navigateur n’a pas besoin d’installer et de gérer un dictionnaire local spécifique à la langue. Le principal défi consiste à décider ce qui est envoyé pour vérification et ce qui ne l’est pas. Avec les applications modernes, les données sensibles ne se limitent pas aux champs de formulaire clairement étiquetés. Toute

balise peut potentiellement être un champ de saisie, et le navigateur n’a aucun moyen fiable de le détecter.

Idéalement, les développeurs Web devraient spécifier l’ spellcheck=false attribut pour chaque contrôle de saisie de texte susceptible d’inclure des données sensibles. Mais l’utilisation de cet attribut nécessite une étape supplémentaire, complique le code et peut dégrader l’expérience utilisateur. Et même en supposant que tous les emplacements prévus pour la saisie de données sensibles soient couverts, vous pourriez amener les utilisateurs à saisir, par exemple, des informations personnellement identifiables dans d’autres champs qui font l’objet d’une vérification orthographique.

Enfin, la fonctionnalité Afficher le mot de passe qui peut permettre l’orthographe du mot de passe n’est pas seulement utile pour s’assurer que vous n’avez pas mal saisi votre mot de passe long et complexe – elle peut également être requise pour que l’accessibilité fonctionne avec les lecteurs d’écran. Bien qu’il s’agisse d’une fonctionnalité totalement bénigne en soi, le navigateur peut envoyer votre mot de passe en texte clair dès que vous cliquez sur Afficher le mot de passe .

Le spelljacking est-il une menace réelle ?

Pour être clair, le spelljacking est plus une curiosité qu’un problème de rupture d’Internet ou un risque généralisé pour les données personnelles. Pour commencer, même si votre mot de passe est orthographié, votre navigateur communique avec l’API du fournisseur via HTTPS, de sorte que les données non chiffrées ne sont connues que de votre navigateur et du fournisseur à l’autre bout. À moins d’une attaque man-in-the-middle , il n’y a aucun moyen pour un tiers de voir votre mot de passe, il n’y a donc aucun risque d’attaques autonomes de orthographe, du moins pas encore. (Et si quelqu’un écoute tout votre trafic Web dans une situation MITM, vous avez des problèmes bien plus importants que le spelljacking.)

La fonction de vérification orthographique améliorée est également désactivée par défaut. Par conséquent, pour risquer d’être victime d’un orthographe, vous devez l’activer manuellement, parfois même en fermant une boîte de dialogue d’avertissement. (Dans Chrome, l’option se trouve sous Paramètres > Services de synchronisation et Google et dans de nombreux menus contextuels.) Et, bien sûr, le site Web ou l’application que vous utilisez doit coder ses champs de saisie de manière à permettre à la vérification orthographique améliorée de fonctionner même pour les données sensibles.

Cela dit, il existe toujours des risques associés à cette vulnérabilité, en particulier pour la conformité. Toute personne utilisant votre site ou votre application peut potentiellement envoyer des données professionnelles et personnelles sensibles à Google ou à Microsoft lorsqu’elle les saisit dans des champs de texte. Si toutes les conditions requises pour le correcteur orthographique sont remplies, le fournisseur du navigateur pourrait obtenir, par exemple, les identifiants de connexion de l’entreprise de vos employés et d’autres données sensibles envoyées en texte brut à leur API de vérification orthographique. Ce n’est pas une bonne pratique de sécurité de l’information, mais cela empire – si votre site permet au navigateur de vérifier l’orthographe des informations personnelles identifiables (PII), vous pourriez être sur des bases juridiques fragiles avec les réglementations sur la protection des données personnelles.

Il est également prudent de supposer que les demandes de vérification orthographique sont en quelque sorte mises en cache et enregistrées à la fois pour les performances (car la vérification orthographique doit fonctionner presque en temps réel) et pour améliorer le dictionnaire. Ainsi, après avoir quitté le canal HTTPS crypté, vos mots de passe pourraient bien être stockés quelque part dans un journal de serveur, avec tous les autres mots inconnus. Encore une fois, peut-être pas une menace immédiate, mais certainement une fuite de données qui pourrait entraîner des problèmes plus graves sur toute la ligne, y compris des problèmes réglementaires.

Des risques de sécurité là où vous les attendez le moins

Bien que la recherche initiale ait signalé des vulnérabilités de piratage dans plusieurs sites et applications de premier plan, y compris des gestionnaires de mots de passe, la plupart d’entre elles ont été résolues. Cependant, compte tenu de l’inattendu du problème, il est probable que des milliers de sites Web et d’applications autorisent toujours les navigateurs à relayer les identifiants de connexion et d’autres données utilisateur à Google et Microsoft en texte brut. Encore une fois, il s’agit plus d’une coïncidence que d’une saisie délibérée de données – mais ce n’est pas quelque chose avec quoi tout le monde devrait être à l’aise.

Il y a plusieurs points à retenir de cette histoire. Tout d’abord, toute organisation soucieuse de la sécurité des données peut vouloir bloquer la fonctionnalité de vérification orthographique améliorée dans les navigateurs Chrome et Edge sur les machines gérées par l’entreprise pour empêcher les utilisateurs de l’activer. Deuxièmement, si vous développez vos propres sites Web et applications, c’est une bonne idée de vous assurer d’utiliser spellcheck=false pour tous les champs qui acceptent toutes sortes de données sensibles. Et enfin, chaque fois que vous voyez une autre fonctionnalité Web utile quelque part, demandez-vous : est-ce sécurisé ? Car dans l’enchevêtrement actuel des technologies web, une nouvelle vulnérabilité n’est jamais loin.