Une extension Twitch malveillante a exfiltré les jetons OAuth de 31 000 utilisateurs

L’équipe de recherche de Socket a révélé le 11 septembre 2026 qu’une extension de navigateur populaire auprès des spectateurs Twitch, « Twitch Enhanced Viewer | JeetBot », transmettait les jetons OAuth de ses utilisateurs à des proxys exploités par un service commercial russophone de bots. Environ 31 000 installations étaient concernées sur Chrome et Firefox. Le jeton transitait en clair dans l’URL des requêtes, et donc dans les journaux des serveurs tiers. Au-delà de Twitch, l’affaire illustre un risque très concret pour les entreprises : une extension « de confort » peut exposer des identifiants de session sans qu’aucun mot de passe ne soit volé.

L’essentiel
  • L’extension, présentée comme un outil de confort (blocage des publicités, 1080p forcé, déblocage régional), redirigeait les flux vidéo via les proxys de son éditeur en y ajoutant le jeton OAuth du compte Twitch.
  • Ce jeton est un identifiant « porteur » : il donne accès au chat, aux messages privés (whispers), aux paramètres du compte et aux points de chaîne, sans mot de passe ni second facteur.
  • Selon Socket, l’extension n’avait pas besoin de ce jeton pour fonctionner, et ses déclarations de confidentialité affirmaient ne collecter aucune donnée.
  • L’éditeur a corrigé l’extension après publication : version 85.8.7 sur Firefox, 85.8.9 sur Chrome. Les utilisateurs doivent mettre à jour et révoquer leurs sessions Twitch.
ExtensionTwitch Enhanced Viewer | JeetBot
Utilisateurs~30 000 (Chrome) + 552 (Firefox) selon Socket
Versions corrigéesFirefox 85.8.7 · Chrome 85.8.9
GravitéExposition d’identifiants de session

Ce qui s’est passé

L’extension était distribuée sur le Chrome Web Store et sur Firefox Add-ons. Le service JeetBot, auquel elle est rattachée, est un SaaS commercial russophone de bots pour Twitch, Kick et VK Live. Socket, spécialiste de la sécurité de la chaîne d’approvisionnement logicielle, a analysé son code et publié ses conclusions le 11 septembre 2026, avec deux mises à jour les 16 et 25 septembre après la réaction de l’éditeur.

Le constat central : pour toute chaîne Twitch, la requête de lecture vidéo était redirigée vers un proxy contrôlé par l’éditeur, avec le jeton OAuth de l’utilisateur ajouté en paramètre d’URL. Une exception révélatrice existait : pour une liste codée en dur de dix chaînes de streamers russophones, le trafic passait par le même proxy… sans le jeton. Pour Socket, cela démontre que le jeton n’était pas nécessaire au fonctionnement du service.

Analyse technique

Comment le jeton était capturé et transmis

D’après l’analyse de Socket, la chaîne se déroulait ainsi :

  • un script de contenu lisait l’en-tête Authorization utilisé par Twitch ainsi que l’identifiant d’appareil, puis les transmettait au service d’arrière-plan de l’extension ;
  • celui-ci extrayait le jeton OAuth brut et le validait auprès de l’endpoint de validation de Twitch ;
  • les requêtes vidéo vers usher.ttvnw.net étaient redirigées vers le proxy de l’opérateur, avec le jeton ajouté dans un paramètre &auth= ;
  • placé dans la chaîne de requête, le jeton apparaissait en clair dans les journaux du proxy.

Le mécanisme était identique sur les deux navigateurs : un écouteur webRequest bloquant sur Firefox, une règle declarativeNetRequest de substitution par expression régulière sur Chrome. Le serveur de l’opérateur déterminait dynamiquement quel proxy recevait le trafic.

Des versions antérieures plus directes

Les versions 4.x (par exemple la 4.8, de janvier 2026) allaient plus loin : un module envoyait explicitement le jeton par requête POST à un endpoint set-token sur l’infrastructure de l’opérateur, avec des serveurs de secours hébergés sur Deno. Les erreurs d’envoi étaient ignorées silencieusement, et un mécanisme évitait les envois répétés, ce qui suggère, selon Socket, un stockage des jetons côté serveur. Ces endpoints ont ensuite été désactivés et n’apparaissent plus dans les versions récentes.

Période / versionComportement décrit par Socket
v4.x (dont 4.8, janvier 2026)Envoi explicite du jeton vers un endpoint set-token
7.2.6 (25 avril 2026) → 85.2.2 (20 mai 2026)Saut de numérotation ; apparition du transfert du jeton dans l’URL (&auth=)
85.2.2 à 85.8.4Jeton transmis au proxy pour toutes les chaînes hors liste blanche
Firefox 85.8.7 (septembre 2026)Paramètre auth vidé et jetons supprimés des requêtes
Chrome 85.8.9 (en ligne au 25 septembre 2026)Correctif équivalent publié après revue du Chrome Web Store

Pourquoi ce jeton est sensible

Le jeton concerné n’est pas un simple jeton de lecture vidéo : il est lié au compte. Quiconque le détient peut, selon Socket, lire et envoyer des messages privés, publier dans le chat, consulter des paramètres du compte et dépenser des points de chaîne, sans connaître le mot de passe et sans déclencher de second facteur. C’est précisément ce qui rend ce type de fuite dangereux : l’authentification forte est contournée parce que la session est déjà établie.

Précautions de lecture. Socket qualifie le comportement de malveillant en s’appuyant sur l’absence de nécessité technique du jeton et sur des déclarations de confidentialité contradictoires. L’éditeur a reconnu le risque et l’absence de divulgation, et a supprimé le transfert ; certains médias évoquent une possible erreur de conception. Aucune utilisation abusive des jetons collectés n’a été publiquement démontrée. Les chiffres d’installation varient selon les sources (552 ou 604 utilisateurs Firefox).

Qui est concerné ?

Directement : les utilisateurs de l’extension ayant installé une version antérieure à 85.8.7 (Firefox) ou 85.8.9 (Chrome). Indirectement, toute organisation qui laisse ses collaborateurs installer librement des extensions sur des navigateurs utilisés aussi pour des services professionnels : équipes marketing ou communication gérant des comptes de diffusion, créateurs de contenu, mais aussi tout poste où une extension disposant de permissions étendues voit passer des en-têtes d’authentification.

Pourquoi c’est important pour votre organisation

Les extensions de navigateur ont accès à des données extrêmement sensibles : en-têtes d’authentification, cookies de session, contenu des pages. Une extension qui redirige le trafic vers un proxy tiers peut capter des jetons d’accès à des applications SaaS, sans malware classique ni alerte de l’antivirus. Les déclarations de confidentialité des magasins d’extensions ne constituent pas une garantie : dans ce cas, elles affirmaient explicitement l’absence de collecte de données.

Ce risque est d’autant plus difficile à repérer que les mises à jour des extensions sont automatiques : une extension anodine au moment de son installation peut changer de comportement des mois plus tard.

Lecture MITRE ATT&CK

Correspondance proposée par Socket dans son analyse :

TechniqueComportement observé
T1176 — Browser ExtensionsExtension distribuée via les magasins officiels de Chrome et Firefox
T1539 — Steal Web Session CookieCapture du jeton OAuth de session Twitch
T1557 — Adversary-in-the-MiddleRedirection des requêtes vidéo via le proxy de l’opérateur
T1071.001 — Web ProtocolsTransmission du jeton dans des requêtes HTTP(S)

Recommandations

  1. ImmédiatMettre à jour ou supprimer l’extension

    Recherchez dans votre parc l’identifiant Chrome pnhhdhhcadcjfckjhpmjneldiegbojfb et l’identifiant Firefox twitchenhancedviewer@example.com. Signalez toute version antérieure à 85.8.7 (Firefox) ou 85.8.9 (Chrome).

  2. ImmédiatRévoquer les sessions Twitch

    Les utilisateurs concernés doivent se déconnecter de toutes les sessions Twitch puis se réauthentifier, afin d’invalider les jetons potentiellement exposés.

  3. Court termeMettre en place une liste blanche d’extensions

    Via les politiques de gestion de Chrome, Edge et Firefox, n’autorisez que les extensions validées et bloquez l’installation libre sur les postes professionnels.

  4. Court termeÉvaluer les permissions plutôt que la description

    Considérez comme à risque toute extension disposant de permissions sur des domaines authentifiés et redirigeant du trafic vers des destinations tierces, quel que soit son discours marketing.

  5. Moyen termeInventorier et surveiller en continu

    Intégrez l’inventaire des extensions à votre gestion des actifs et surveillez, via le proxy ou le DNS, les connexions vers des domaines de proxy inconnus depuis les navigateurs.

  6. Moyen termeSensibiliser les utilisateurs

    Expliquez qu’une extension gratuite promettant de bloquer les publicités ou de débloquer du contenu peut avoir accès à toutes les sessions ouvertes dans le navigateur.

L’avis de Defensy

Les extensions de navigateur sont l’un des angles morts les plus fréquents de la sécurité des postes. Une session volée vaut un mot de passe et un second facteur, et aucune authentification forte ne protège un jeton déjà émis.

Notre SOC, Détection & Réponse surveille les connexions anormales et les usages suspects de sessions. Nos programmes de Formation & Sensibilisation aident vos équipes à reconnaître les extensions et outils à risque.

Références
  1. Malicious Twitch Browser Extension Exposes 30,000 Users’ OAuth Tokens to Russian Bot ServiceSocket Threat Research — Kush Pandya — 11 septembre 2026, mis à jour les 16 et 25 septembre 2026
  2. Malicious Twitch Extension Exposes 31,000 Users’ OAuth TokensInfosecurity Magazine — septembre 2026
  3. Article original sur l’extension Twitch malveillanteThe Hacker News — septembre 2026
  4. MITRE ATT&CK® — Enterprise MatrixMITRE Corporation