Three researchers at Hacktron — Harsh Jaiswal, Mohan Pedhapati and Rahul Maini — published the full write-up of a July 25 compromise that ended with a pull request, numbered 1186742, opened inside OpenAI's internal <code>openai/openai</code> monorepo. The chain is old-fashioned in its parts and new only in how it was assembled. Discourse, which hosts community.openai.com, hands HEIC and HEIF uploads to ImageMagick because FastImage cannot read them, which exposes libheif directly to attacker-controlled files. Discourse's Docker image is built on Debian 12 and shipped libheif 1.19.7, a version missing upstream security backports because the fixing commit was never labelled a security fix and never received a CVE. Debian 13 still carried the vulnerable 1.19.8 at the time. The result was a heap buffer overflow yielding out-of-bounds read and write primitives during HEIC decoding.
The interesting part is the exploitation timeline. On July 24 the team used Opus 4.8 to build a working ImageMagick and libheif code-execution exploit with address space layout randomization disabled, then spent several further sessions failing to make it reliable against Discourse's default configuration with randomization on. Anthropic released Claude Opus 5 that evening. A fresh session produced a working ARM64 exploit for a local Mac within three hours, and the team then asked it to port the work to the x86-64 and jemalloc configuration Discourse actually uses. By six in the morning on July 25 they had confirmed local remote code execution through an image upload. They then placed the model in an autonomous goal loop against their own Discourse Cloud instance, proxied through a URL dressed up to look like a capture-the-flag target because the model refused to write exploits aimed at remote production systems. Four hours later the agent had achieved remote code execution and demonstrated it by reading /etc/hosts.
What turned a forum compromise into an OpenAI compromise was not Discourse at all. It was an identity flaw in OpenAI's own single sign-on: any user or employee logging into the forum through "Sign in with OpenAI" could have had their ChatGPT and Codex accounts taken over, and Codex accounts carry whatever connectors their owners have attached, including GitHub, Slack and email. The researchers took over one employee account whose Codex was wired to OpenAI's GitHub organization and, rather than read any code, prompted that Codex to open a harmless pull request as proof. They stopped testing at 15:30 UTC. OpenAI confirmed a fix roughly fourteen hours after the Bugcrowd submission and paid a $6,500 bounty, noting that testing against the Discourse-hosted forum was formally out of scope and that the award covered the OpenAI-side finding only. Discourse received its report on a Saturday, replied Sunday, had a fix by Monday, published advisory GHSA-vhm9-85gw-x335 on Tuesday, and added ImageMagick sandboxing as defense in depth.
The economics are the part worth sitting with. The broader campaign, which Hacktron calls HEIF Heist and has since aimed at Slack, Meta, GitHub Enterprise, Rails, Next.js, Astro and Gatsby, ran two months, consumed under $3,000 in tokens, and was carried out by three people. Adapting the exploit to each new target usually took one or two days, typically without knowing the libheif version, the libc version or the deployment environment in advance. The researchers report a second capability jump from Opus 5 to GPT-5.6 Sol on exactly that blind-adaptation problem, and say no target except Shopify detected the activity even after thousands of malformed images crashed their image processors repeatedly. Their framing is that software has long enjoyed security through complexity — the bug could be public but operationalizing it demanded scarce expertise — and that converting that expertise into compute removes a protection that was never a real boundary but did work in practice.
- Hacktron's own write-up stresses the SSO misconfiguration, not Discourse: any first-party or third-party service on OpenAI SSO would have given the same access.
- The Information frames it as a demonstration of AI companies' own vulnerability, dating the intrusion to July 25 and noting the researchers revealed it Thursday.
- LessWrong's thread fixed on the cost figure — under $3,000 of credits for the whole campaign — as the number that changes threat models.
- Hacker News discussion centered on Debian's missed backport and the undocumented upstream fix that never got a CVE.