· ai-devtools

We Took over ChatGPT Accounts

Parameter Labs describe an exploit they found against ChatGPT's implementation of the artifacts pattern (OpenAI used to call this "Canvas" but it looks like the latest revision is called HTML previews), where interactive custom HTML apps are displayed in a sandboxed iframe.


It's important that HTML in these stays tightly sandboxed to avoid untrusted code interacting with OpenAI APIs and accessing private data. Parameter found quite a complex attack chain. OpenAI use the MathLive JavaScript library as part of their graph support, and that library includes its own virtual keyboard, which can be triggered in the parent page via postMessage() from the sandboxed iframe.

That message receiving code uses innerHTML, so anything that sends a message can add custom HTML to the parent - and there was no mechanism to prevent other sandboxed frames, including HTML preview frames, from calling that method. This meant untrusted code in an iframe could insert HTML, and while innerHTML doesn't directly execute script elements it could be used to inject a new iframe without sandbox restrictions.

Earlier coverage

Related coverage

Also worth reading

  1. Angular 20.3.35 and 21.2.26 released, fixing downgraded component template compilation
  2. next.js 16.4.4 released
  3. KloudStax CTO details first ten lines of command policy for AI coding agents
  4. India floats AI plan under which ‘The model travels to the data, rather than the data travelling to the model’
  5. If in doubt, delete the uv.lock file