A vulnerability in how macOS handles WebGPU—a graphics technology used by web browsers—allows untrusted websites to freeze a Mac’s graphics interface, rendering the desktop unusable until the system restarts.

According to the researcher who discovered the issue, the attack works by exploiting WebGPU’s ability to submit shaders directly to a device’s GPU. The malicious shader contains an infinite loop in a compute process that continuously copies data to a buffer while a vertex shader tries to read from the same buffer. This creates a deadlock that blocks the GPU from handling other requests, including those from the WindowServer—the macOS component responsible for rendering the desktop.
The result is that the graphics system becomes unresponsive. Depending on the circumstances, users may see a spinning beach ball cursor, magenta artifacts on screen, or a frozen mouse. The rest of the computer continues to function normally; users can still SSH into the affected machine. However, a watchdog process monitoring the WindowServer detects the non-responsiveness and triggers a kernel panic, forcing a restart. Users can also manually restart by holding the power button.
The vulnerability reproduces consistently on macOS across Chrome, Firefox, and Safari, but the researcher reports it does not cause the same freezing effect on other operating systems—only slowing down individual browser tabs that can be closed to recover.
The researcher discovered the issue accidentally while learning WebGPU at the Recurse Center in July 2026 and disclosed it to Apple on July 27, 2026. Apple initially stated it intended to fix the problem but later changed course, saying on August 26 that it did “not see any security implications” and classified the report as a potential enhancement rather than a security issue.
This follows a similar 2023 incident involving WebGL called ShadyShader, which also used runaway shader loops to freeze GPUs. Apple addressed that vulnerability with CVE-2023-40441, assigned a 6.5 medium severity score, and implemented improved input validation to detect runaway loops. The researcher suggests that validation may be weaker in WebGPU, allowing the trivially identifiable infinite loop in this case.
The researcher notes that detecting infinite loops presents a fundamental challenge—the halting problem makes prevention difficult—and that better pre-emption of unresponsive shaders is needed, particularly for untrusted code. The architecture of Apple’s M-series chips may complicate fixes, as the OS kernel cannot directly pre-empt the GPU; instead, a coprocessor called the ASC handles GPU operations and pre-emption logic.
Key facts
- A WebGPU shader can freeze a Mac’s graphics system by creating a deadlock between a compute shader and vertex shader accessing the same buffer
- The attack requires only a user clicking a link and works cross-browser on macOS (Chrome, Firefox, Safari)
- The graphics freeze triggers a kernel panic and forced restart; other operating systems experience only localized tab slowdown
- Apple declined to classify this as a security issue despite similarities to CVE-2023-40441 (ShadyShader), which Apple previously rated as medium severity
- The M-series GPU architecture, which uses an ASC coprocessor for GPU handling, may complicate Apple’s ability to implement GPU pre-emption
