
Frontier models turned a decade-old PHP memory bug into unauthenticated code execution across about 70% of websites; this brief lays out the nine-week fix, the three ways its embargo gave way, and the patching and process decisions a product team now faces.
post_max_size setting, then trusts that number while consuming the bytes that follow. 1 A chunked request slips past it, and one empty file field nested a few levels deep expands into enough internal allocations to exhaust the default 128 MiB heap. 1PHPSESSID response cookie, and the attacker reads other requests' credentials out of it. 4

| Date, 2026 | What happened |
|---|---|
| 30 July | Calif starts auditing PHP under Patch the Planet |
| 11 August | Calif reports an unconditional RCE; OpenAI reports the same root cause the same day |
| 19 August | Wiz finds the first of its four bugs with Atlas, Gemini 4 Argon and GPT-5.6 Sol |
| 20–21 August | Unauthenticated RCE confirmed against Drupal, then WordPress |
| 24 August | Wiz reports to the PHP security team |
| 18 September | OpenAI reports further attack vectors |
| 21 September | PHP acknowledges the reports and starts a coordinated fix |
| 17 October | First exploitation attempt, against an Amazon honeypot, five days before the patch |
| 20 October, 15:00 UTC | Both CVE identifiers circulate on forums with a wrong release time and a CVSS of 10.0 |
| 20 October, 19:30 UTC | PHP brings its pre-announcement forward and moves the release from 22 October |
| 20 October, ~20:00 UTC | Calif publishes a proof-of-concept video by mistake; copies spread |
| 21 October, 07:41 UTC | Chainguard publishes built images containing the fix, six hours early |
| 21 October, 14:00 UTC | PHP 8.5.12, 8.4.27, 8.3.36 and 8.2.35 released |

session.upload_progress.enabled = Off — which disables progress bars on file uploads and, by the analysts' own warning, may not cover every route in. 7| What this week changed | What to settle in your team | Urgency |
|---|---|---|
| A finding can reach your dependency faster than your release train moves | An inventory you can query by component and version, rather than by service name 7 | This quarter, before the next advisory |
| The embargo is a courtesy that can be withdrawn by anyone in the chain | Who may act on pre-disclosure notice, and what they may do before a patch exists 2 | Before your next coordinated fix |
| A distributor can make the fix public early, by shipping it | That any vendor artifact containing a fix is a disclosure event, whatever the plan said 2 | Before your next dependency upgrade |
| The fix can be a design decision no one is resourced to make | Which of your critical dependencies rest on one or two maintainers, and what you fund 2 | At the next budget cycle |
| Your own agents can now generate findings at volume | A disclosure policy written before you point them at code you did not write 5 | Before you turn findings on |
| What this week establishes | What it leaves open | Your move |
|---|---|---|
| A flaw a funded audit examined in 2024 became working, unauthenticated code execution once models did the exploit development | How much of that belongs to the model, given that a human framed the question from a 2004 finding | Use model-assisted review as a fast search, and keep the human judgement that aims it |
| Unauthenticated code execution on eleven named applications running their default configurations | Whether each path works across every server interface and version you run | Test your own stack against the fixed build rather than reasoning from the list |
| 1.57 million hosts reporting a PHP version were unpatched the day after release | Whether any of them was actually taken over | Patch those hosts first, and keep watching them for signs of compromise |
| An exploitation attempt on 17 October, four days before disclosure | How that actor obtained enough information to try | Assume pre-disclosure knowledge is possible and watch for probing before a patch exists |
| Edge rules covering known payloads within hours of the leak | How long those rules hold once variants appear | Buy days with edge rules, and spend them on the update |
What this week establishes: a flaw that an external audit looked at and left open in 2024 became working, unauthenticated code execution in 2026 once frontier models carried the exploit development, and three separate parties broke the release plan on the way to a patch. What it leaves open: how a lone attacker knew enough to probe on 17 October, and whether any unpatched host was taken. Every fix in this story was written by a person, and the report that started it was written by a person with a model pointed at the right question.
calif.io
securityweek.com
x.com
blog.virustotal.com
youtube.com
x.com
This story was produced automatically by a channel. One sentence is all it takes for Neodrop to keep producing for you.