OBS Studio bug grants code execution via Twitch chat

A new attack chain exploits a Twitch chat overlay XSS and a disabled Chromium sandbox in OBS Studio to gain full system access.

By Central
Researchers demonstrate how a single malicious Twitch message can lead to native code execution on a streamer's Windows PC.
Highlights
  • The exploit combines an XSS flaw in a custom Twitch chat overlay with an unpatched Chromium vulnerability and a disabled sandbox in OBS Studio.
  • OBS Studio disables the Chromium sandbox by default, allowing code to escape the renderer and access the underlying Windows system.
  • The attack was demonstrated on an up-to-date Windows 11 system, showing that a specially crafted Twitch message can trigger full code execution.

Streamers who rely on OBS Studio and third-party chat overlays may be exposing their Windows systems to remote compromise through nothing more than a single malicious Twitch message. New cybersecurity research has demonstrated a complete attack chain that combines a cross-site scripting (XSS) flaw in a custom overlay with an unpatched Chromium vulnerability and a disabled sandbox in OBS, ultimately granting arbitrary native code execution on a streamer’s machine.

The Attack Chain: From Twitch Message to Full System Access

The exploit, developed by the researchers at Orange, begins with a custom Twitch chat overlay that inserts viewer messages directly into the page as unsanitized HTML. This creates an XSS vulnerability: an attacker can embed JavaScript in a chat message that, when rendered by the overlay, executes inside the browser context embedded in OBS Studio.

With no sandbox, the attacker's code, once it escapes the renderer, has unfettered access to the underlying Windows operating system.

OBS Studio’s Browser Source feature relies on the Chromium Embedded Framework (CEF) to display web content such as chat boxes, donation alerts, and follower notifications. In older versions of OBS, specifically version 32.2.2 and earlier, the bundled CEF was running an outdated Chromium 127.0.6533.120 with V8 12.7.224.18. That version is vulnerable to CVE-2024-7971, a type-confusion flaw in the V8 JavaScript engine that Google patched in Chrome 128 back in August 2024.

Ordinarily, compromising the Chromium renderer through a browser exploit would still be contained by the browser’s sandbox. However, OBS Studio disables the Chromium sandbox in its default configuration — a choice made historically to avoid compatibility issues with certain overlay interactions and authentication flows. With no sandbox, the attacker’s code, once it escapes the renderer, has unfettered access to the underlying Windows operating system.

The researcher demonstrated the full proof of concept on an up-to-date Windows 11 system, showing that a specially crafted Twitch message could trigger the XSS, which then leveraged CVE-2024-7971 to achieve native code execution — all without needing a separate sandbox-escape vulnerability.

Background: OBS Studio and the Browser Source Ecosystem

OBS Studio is the de facto standard for livestreaming and video recording, used by millions of content creators on platforms like Twitch, YouTube, and Kick. Its Browser Source feature is integral to modern streaming: it allows streamers to embed live chat, donation goals, subscriber alerts, animated overlays, and interactive widgets directly into their scenes. These sources are rendered as web pages inside a Chromium-based browser control.

The flexibility of Browser Source comes with inherent risk. Any application that renders untrusted web content in a privileged context must be carefully hardened. OBS’s decision to disable the Chromium sandbox, while arguably necessary at the time for certain features, creates a large attack surface when combined with third-party overlays that do not properly sanitize user input.

The overlay at the center of this research was a custom solution built by a developer friend of the Orange team. It was not distributed widely, but the pattern it represents — inserting viewer-supplied text as raw HTML — is common among less security-conscious overlay creators. Streamers who commission or download overlays from community marketplaces may be unknowingly trusting the overlay developer to handle input safely.

CVE-2024-7971: A Known and Actively Exploited Vulnerability

Type-confusion vulnerabilities in V8, Chrome’s JavaScript engine, are among the most dangerous browser bugs because they allow an attacker to manipulate memory in ways that can bypass modern exploit mitigations. CVE-2024-7971 was patched by Google in Chrome 128 in August 2024, and was soon added to CISA’s Known Exploited Vulnerabilities catalog after evidence emerged that the North Korean threat group tracked as Citrine Sleet had used it in real-world attacks.

Despite the patch being available for more than a year, OBS Studio 32.2.2 shipped with Chromium 127, leaving users exposed. The OBS project has historically been slow to update its embedded Chromium version, partly due to the complexity of integrating CEF updates without breaking existing overlays. The gap between OBS’s release cycle and Chromium’s rapid security patches creates a persistent risk window.

Orange’s exploit for CVE-2024-7971 was tailored specifically to the CEF build bundled with OBS 32.2.2. It serves as a stark reminder that dependency management in open-source projects — especially those sandboxing widely used components — can have severe security consequences if not handled aggressively.

How Does This Attack Work?

The attack works in three stages. First, an attacker sends a Twitch chat message containing malicious JavaScript code. Second, the vulnerable overlay, which renders chat messages as unsanitized HTML, executes that JavaScript inside OBS’s Chromium renderer. Third, the JavaScript exploits CVE-2024-7971 to escape the renderer’s memory protections and, because the Chromium sandbox is disabled, gains native code execution on the host Windows system. No additional sandbox-escape vulnerability is needed.

Timeline of Discovery and Disclosure

The Orange research team began investigating after a friend shared a screenshot of a custom Twitch overlay that displayed chat messages verbatim. Recognizing the XSS potential, they contacted the overlay developer in February 2026 to coordinate a fix. By July 2026, they had reproduced the full attack chain on a current Windows 11 installation and realized the implications extended beyond that single overlay: any Browser Source that renders viewer-controlled data as HTML could serve as an entry point.

They reported the vulnerability to the OBS Studio team on August 19, 2026. Public disclosure followed on September 22, 2026, giving the OBS project approximately five weeks to prepare mitigations before the technical details became widely known.

OBS Studio has since merged changes to upgrade its embedded browser to CEF 128 or newer, with pull requests landing in both the obs-browser and obs-studio repositories in September 2026. The team is also testing whether the Chromium sandbox can be safely re-enabled, after earlier problems involving OAuth authentication flows and hardware-accelerated rendering are resolved.

Practical Consequences for Streamers and Overlay Developers

For streamers, the immediate risk is limited but real. The attack requires that a specific vulnerable overlay is active in a scene. Most popular off-the-shelf overlays, such as those from Streamlabs, StreamElements, or Muxy, are maintained and do not insert viewer messages as raw HTML. However, custom overlays or those downloaded from unofficial sources may not be secure. Streamers should audit their Browser Sources: if any overlay renders user-generated content (chat, tips, polls) without explicit sanitization, they should treat it as a potential compromise vector.

Overlay developers must understand that embedding user input as HTML inside OBS’s Browser Source is equivalent to giving every Twitch viewer the ability to run arbitrary JavaScript in a context that, due to OBS’s disabled sandbox, can turn into remote code execution. The safe approach is to always insert viewer messages as plain text and use JavaScript to create DOM elements programmatically rather than injecting innerHTML or similar methods with unsanitized data.

Until OBS releases updated builds with a patched Chromium and a sandbox that can be safely enabled, the best defense is to minimize trust in Browser Source content. Anyone using OBS for professional or high-value streaming should consider running OBS in a virtualized environment or on a dedicated streaming machine with reduced privileges — though this adds complexity.

Broader Implications for Software Supply Chain Security

This vulnerability chain illustrates a recurring pattern in modern software: a powerful integration framework (OBS’s Browser Source with CEF) combines with a third-party content provider (custom overlay) and a known-but-unpatched dependency (CVE-2024-7971) to produce a critical security hole. Each layer in the chain is individually manageable, but the combination creates a risk that no single party fully owns.

The OBS project’s decision to disable the Chromium sandbox was not made lightly; it was a pragmatic choice to ensure compatibility with widely used overlay features such as Twitch’s OAuth login popups and local file system access for recording paths. However, as the Orange research demonstrates, any privileges granted to the browser renderer become attack-surface when the renderer can be compromised. The security community has long argued that sandbox escapes — even if time-consuming — are the primary defense against browser-based exploits. Removing that defense should be done only after exhaustive analysis and, ideally, with compensating controls in place.

OBS’s approach to resolving this — upgrading to CEF 128 and re-evaluating sandbox re-enabling — is the correct path. But it also highlights a structural challenge: open-source projects maintainers often lack the resources to keep up with rapid security patches from upstream dependencies like Chromium. For a project as widely deployed as OBS, a dedicated security team and a faster update pipeline may be necessary.

Recommendations for Streamers and Organizations

For individual streamers, the immediate action is to update OBS Studio to the latest version available. While the fix for this specific chain (CEF upgrade to 128+) may not yet be in a stable release, newer builds may already include the sandbox changes. Check the OBS Studio GitHub releases or official website for updates. Additionally, review all Browser Sources currently in scenes: if any overlay processes chat messages or other user-submitted data, ensure it is from a reputable developer and that it sanitizes input.

For organizations that use OBS for corporate streaming, live events, or developer conferences, a longer-term security policy should be established. This includes maintaining a registry of approved Browser Sources, performing periodic vulnerability scans of the streaming setup, and considering network-level isolation (e.g., streaming from a separate machine with no access to corporate resources).

For the streaming community at large, this incident serves as a call to action to demand better baseline security from both OBS and overlay providers. Streamers should be aware that their streaming software is now a target for sophisticated attacks, and that their machines may contain sensitive information (e.g., ad revenue accounts, personal files, credentials) that malicious viewers could exploit.

The Orange team’s responsible disclosure gave OBS time to react, but the underlying dynamics — slow Chromium updates, disabled sandbox, third-party input handling — will continue to produce similar vulnerabilities unless the ecosystem collectively invests in security. Until then, a single malicious Twitch message will remain a potent weapon for those who understand the chain.

Questions answered
  • How does the OBS Studio exploit work?The exploit uses a cross-site scripting flaw in a custom Twitch chat overlay to inject JavaScript, then leverages an unpatched Chromium vulnerability (CVE-2024-7971) to escape the renderer and execute native code because OBS disables the Chromium sandbox.
  • What should streamers do to protect themselves?Streamers should update OBS Studio to the latest version, review all Browser Sources for reputable overlays that sanitize input, and consider network-level isolation for corporate streaming.
Share This Article