Comment un message dans un chat Twitch permet de hack le PC d'un streamer ?
Faut Sandboxer bordel de cul
Hello les gens !
Fin septembre, un rapport est apparu sur le blog technique de Orange Cyberdefense Suisse, celui-ci présente comment avec un simple message dans un chat Twitch, un hacker peut potentiellement prendre le contrôle du PC du Streamer, et on va remonter le fil ensemble pour comprendre comment il fait ça, et comment s'en protéger.
Source : Orange Cyberdefense Switzerland's technical blog
Tout d'abord, comment avec un simple message Twitch on peut pirater le PC du streamer ? La réponse est toute conne, c'est lié à l'intégration Navigateur d'OBS.
Cette intégration navigateur, c'est un Chromium qui est embarqué directement dans notre logiciel de stream favori, on peut faire pas mal de choses avec, et de nombreux streamers s'en servent pour afficher leur chat Twitch grâce à des services comme Streamlabs.

Actuellement, la version de Chromium utilisée par OBS date de 2024, or, celle-ci est sensible à la CVE-2024-7911, qui permet d'exécuter du code arbitraire en dehors du navigateur (comprenez que basiquement OBS utilise une version de Chromium qui permet à un hacker de prendre le contrôle du PC si vous mettez pas en place les protection adéquates).
Alors évidemment c'est un chouia plus complexe que ça, car il faut que vous ayez paramétré votre intégration de chat pour qu'elle transforme l'intégration d'une URL en page web directement affichée, chose qu'a fait le Streamer Capetlevrai qui a Vibe-Codé cette intégration pour la rendre "plus propre", sauf que, qui dit Vibe-Coding, dit ne pas relire son code, après tout c'est le boulot de l'IA ça, sauf que si on dit pas à l'IA de faire un truc propre et sécurisé, bah on se retrouve avec des failles de sécu grosses comme l'égo de Macron, résultat des courses, reproduire ce genre de bêtises c'est prendre de très gros risques côté protection de votre bécane.

Bon, c'est bien beau tout ça, on a compris, Vibe-Coder c'est mal, faut relire le code fait par l'IA pour ceux qui s'en servent pour coder, et si vous savez pas lire le dit code, demandez à un techos de le faire, ne demandez JAMAIS à une IA de relire sa propre merde, mais comment éviter ce genre de problème ?
Bon, le plus évident, c'est ne pas mettre de chat Twitch dans son Overlay, mais admettons que votre DA nécessite d'avoir ce chat affiché, on a des moyens pour se protéger, par défaut, le Chromium embarqué par OBS n'est pas "Sandboxé" (en gros il est pas isolé du système), comme en atteste ce bout de code provenant du plugin OBS-Browser :
CefString(&settings.log_file) = log_path_abs;
settings.windowless_rendering_enabled = true;
settings.no_sandbox = true;
uint32_t obs_ver = obs_get_version();
uint32_t obs_maj = obs_ver >> 24;
Dans chaque intégration du navigateur dans OBS, on a des options sur les accès qu'a la dite intégration, je vous conseille vivement de mettre ce paramètre sur "Aucun Accès à OBS" à chacune de vos intégrations.
Et côté chat, on garde le paramétrage par défaut de votre service type Streamlabs, qui lui est un minimum safe, même si visuellement dégueulasse (comme on dit, vaut mieux que ce soit moche mais safe, que fancy et tout pété).

Bon évidemment on lance pas OBS en mode admin, tout ça tout ça, ça évite aussi ce genre de bêtises, cela va sans dire mais c'est mieux en le disant.
Actuellement, OBS a updaté Chromium dans le plugin, afin de patcher cette faille de sécurité béante, et il est apparemment prévu de remettre en place le mode Sandbox dans les prochains mois.
Ce patch sera dispo sur nos configurations dans les prochaines semaines avec la sortie d'OBS 33 qui est actuellement en Bêta Test, donc je vous invite également vivement à update votre OBS vers cette dernière dès qu'elle sortira, plus particulièrement si vous utilisez des intégrations web du type "Chat Twitch" afin de limiter les risques de sécu.
En attendant, restez toujours vigilants sur le web, ne copiez collez jamais bêtement du code et relisez le avant (et assurez vous de comprendre ce qu'il fait, ou alors demandez à un Techos de vous l'expliquer), on prend jamais trop de précautions côté cybersécu.
Merci de m'avoir lu jusque là, comme évoqué dans deux précédents articles, ce Blog est un média 100% indépendant, financé et produit par mes propres moyens, si vous appréciez mon travail et souhaitez m'aider, n'hésitez pas à le partager autour de vous, et si vous souhaitez participer financièrement afin de faire vivre ce média, vous pouvez faire un don ponctuel sur mon Liberapay ou bien acheter vos jeux via mon lien affilié Gamesplanet dont un léger pourcentage de ce que vous paierez me sera reversé.