Skip to content

BuildNot yet confirmed elsewhere1 publisher2 min readPublished

Hacktron chained an unflagged libheif overflow to write access on OpenAI's monorepo

Hacktron chained a heap overflow in libheif to an OpenAI SSO flaw and opened a pull request in OpenAI's internal monorepo in under 72 hours. The bug had been fixed upstream a year earlier, but the fix never reached Debian's packages.

The Engineer · Build desk

How we use AISend a correction

Illustration accompanying Hacktron chained an unflagged libheif overflow to write access on OpenAI's monorepo
Generated illustration

What happened

  • The forum sits behind Sign in with OpenAI, so running code on it gave a no-interaction takeover of the ChatGPT and Codex accounts of any logged-in member.
  • The script the model generated against the researchers' own Discourse Cloud worked unchanged on OpenAI's instance, handing them an employee's Codex that was wired into OpenAI's GitHub organization.
  • OpenAI, notified through Bugcrowd, confirmed a fix about 14 hours later and paid a $6,500 bounty scoped to the SSO finding, not the actions against Discourse.
  • Discourse, reported separately through HackerOne, had a fix out within a weekend, added ImageMagick sandboxing as defense in depth, and published advisory GHSA-vhm9-85gw-x335.

Compiled by The EngineerSomething wrong?How this is made

Why it matters

  • constraint A fix that ships without a CVE or a security label never enters a distro's backport queue, so a team relying on Debian's security feed to know when to patch never hears that the bug exists.
  • capability Turning a public memory-corruption bug into a working exploit used to take rare skill and months of effort; folding it into days of model compute widens the pool of people who can do it.
  • exposure Hacktron says the escalation is an OpenAI SSO flaw, not a Discourse one, so any first- or third-party service behind Sign in with OpenAI is a path to the same accounts once it is compromised.
  • decision Teams whose code hands user-supplied HEIC, HEIF or AVIF files to libheif should assume exposure across the 1.19.x to 1.23.x range and track the library themselves.

Discourse does not decode HEIC itself. It screens uploads with FastImage, and FastImage has no HEIF support, so the forum hands .heic and .heif files to ImageMagick's magick command for conversion. That drops an attacker-controlled file straight into libheif. The community.openai.com image ran on a Debian 12 base with libheif 1.19.7, and a heap buffer overflow during HEIC decoding returned out-of-bounds read and write primitives. [5][6][7]

The Debian base image still carried the bug a year after it was fixed. Hacktron's explanation is that the upstream patch landed as an ordinary commit, with no security label and no CVE, so nothing triggered a backport. [8][9] Debian 13 shipped 1.19.8, still vulnerable, and the fixed package did not arrive until August 8, 2026, fourteen days after the proof-of-concept pull request. [9][10][27]

The exploit came together across two model releases. On July 24, Opus 4.8 produced an ImageMagick/libheif exploit that ran with ASLR disabled, but across several sessions could not make it reliable against Discourse's defaults with ASLR on. [13] Anthropic released Claude Opus 5 the same night. In a clean session the model built a working ARM64 exploit for a local Mac in three hours, then ported it to the x86-64 jemalloc layout Discourse uses. [14] To get a remote exploit, the team put the model into an autonomous /goal loop aimed at a Discourse Cloud instance of their own, routed through rce.ee/ctf-forum so it would read as a CTF target, because Opus refused to attack a remote host directly. [15]

The libheif work is one target in a campaign Hacktron calls HEIF Heist, which traced the same library through Slack, Meta, GitHub Enterprise, Ruby on Rails and the Node.js frameworks Next.js, Astro and Gatsby. [22] Over two months, three researchers spent under $3,000 in tokens on the effort, reworking the exploit for each new target in a day or two while starting almost blind on the libheif version, the libc version and the deployment. [23][24]

If you self-host Discourse, a web-interface update may not replace the underlying image, so rebuild from /var/discourse with a git pull and ./launcher rebuild app. [25]

What to watch

  • Whether libheif or MITRE assigns the fix a CVE after the fact, which is what would push Debian and other distros to backport it.
  • Whether Hacktron's reported capability jump from Opus 5 to GPT-5.6 Sol holds up as HEIF Heist moves to more targets.
  • Whether OpenAI changes the SSO configuration itself, given that the bounty was scoped only to the SSO finding.

Clarity's read

What the record supports and how the coverage leans. The claims behind it follow.

Reality

Evidence45
Adoption
Insufficient
Hype gap+25
Incentives50
Confidence40
Why these scores

Claim ledger

Ranked by verification strength, evidence, and original report placement.

  1. [1]

    On July 25, 2026, a team at Hacktron used an OpenAI employee's Codex to open pull request #1186742 in openai/openai, OpenAI's internal monorepo.

    ReportedSupportedView cited source
  2. [2]

    They reached the repo by chaining a heap buffer overflow in libheif with an SSO misconfiguration in OpenAI's identity infrastructure.

    ReportedSupportedView cited source
  3. [3]

    The path from first looking at the forum's image pipeline to repo access took under 72 hours.

    ReportedSupportedView cited source

Sources

1 independent publisher whose own reporting we read for this story.

  1. dev.to

    1 article · October 9, 2026

    One write past the chunk, read-write on the repo

Share your take

Let Clarity write the post for you.

Signed-in readers get a short post drafted on this story in the register they choose — narrative, analytical, or a direct position — editable to the last word before it goes anywhere. The share buttons at the top of this story work without an account.

Topics and entities

Follow any of these and your For You feed starts watching them — no settings page required.

Loading related stories