How the disclosure broke

The plan was 22 October at 14:00 UTC. From about 15:00 UTC on 20 October the CVE IDs were loose with a wrong score; by 19:30 the project had pre-announced a release a day early; by 20:00 one of the reporters had published a demonstration video; by 23:00 mitigation advice was going to critical-infrastructure providers; by 02:00 on the 21st Amazon was seeing proof-of-concept attempts; by 03:02 Cloudflare's rules were live; by 07:41 Chainguard had shipped patched images; by 08:36 a sensor network had its first hit. The release went out at 13:34 UTC. Every one of those times is from a party's own account, and the parties disagree on what was leaked and by whom.

When (UTC)WhatTime isSources
2026-10-17An exploit attempt from an anonymisation-network IP hits an Amazon MadPot honeypot.
As Amazon's CISO told The Hacker News; no primary Amazon post found.
statedTHN
2026-10-20Swiss BACS posts a warning (home-page teaser dated 20 October; the page itself now says 21 October).inferredSwiss BACS BACS
2026-10-20Qualys publishes on the pre-announcement.statedQualys
2026-10-20 15:00 UTCThe two CVE IDs begin circulating on forums and social media with a wrong release time and a wrong CVSS of 10.0. Per Daubois: an anonymous Hacker News post, then screenshots, a 'PHP2Shell tool' screenshot credited to Calif.io, a short exploitation video, and watchTowr posting both CVE numbers.
'around 15:00 UTC' per the Foundation.
statedPHP Foundation Daubois
2026-10-20 19:30 UTCphp.net publishes the pre-announcement: release moved to 21 October 14:00 UTC, two critical vulnerabilities, CVSS v4.0 9.2, 'we reserve the right to release earlier'.
19:30 UTC per the Foundation; the php.net feed says 20:32 UTC; oss-security relayed it at 20:22:51 UTC.
disputedPHP Foundation oss-security php.net
2026-10-20 20:00 UTCCalif 'mistakenly published a video' showing its proof of concept against several targets; copies circulate after it is deleted.
'around 20:00 UTC'. Calif's page does not mention it.
statedPHP Foundation PHP Foundation
2026-10-20 20:22:51 UTCAlan Coopersmith relays the php.net pre-announcement to oss-security.statedoss-security
2026-10-20 23:00 UTCThe PHP project starts giving mitigation advice to a few critical-infrastructure providers; it 'may have leaked as well'.statedPHP Foundation
2026-10-21 02:00 UTCAmazon sees proof-of-concept attempts, then six hours of attempts from anonymised infrastructure.statedTHN
2026-10-21 07:41 UTCChainguard publishes built images containing the fix, 'more than six hours before the coordinated release'.
Chainguard reportedly denies leaking; that article is blocked.
statedPHP Foundation Techzine
2026-10-21 07:43 UTCCloudflare's CTO reports early attacks emerging, before the release.
Second-hand; the post itself is not captured.
statedInsurance Business SecurityWeek
2026-10-21 08:36 UTCELLIO records its first sensor hit.statedTHN PHP Foundation
2026-10-21 13:30 UTCCERT-EU's stated release time for the PHP fixes.
Differs from the planned 14:00 UTC and from the 13:35 UTC tags.
statedCERT-EU
2026-10-21 13:32 UTCWiz posts 'BREAKING ... #PHP2SHELL ... impacting 70% of the Internet', 28 minutes before the planned release; the thread still says 'Apply the Oct 22 security release'.statedWiz on X
2026-10-21 13:34:13 UTCGHSA-6wmf-4rv5-p3rp (CVE-2026-109619) and, twelve seconds later, GHSA-w8hw-w9fx-j79w (CVE-2026-109618) are published by bukka.statedPHP PHP
2026-10-21 13:35:38 UTCSigned tags php-8.5.12, php-8.4.27, php-8.3.36 and php-8.2.35 are created.statedphp-src
2026-10-21 13:48:34 UTCThe CVE record for CVE-2026-109618 is published; CVE-2026-109619 follows at 13:54:43Z.statedCVE record CVE record
2026-10-21 14:00 UTCThe planned release time. php.net's advisory 'Critical remote code execution vulnerabilities, update now' and the four release posts go up.statedphp.net oss-security Daubois
2026-10-21 14:04 UTCOpenAI posts: models 'helped researchers ... discover critical security flaws in PHP ... used to run an estimated 70% of websites'. An X Community Note later disputes OpenAI's role.statedOpenAI on X
2026-10-21 14:06:22 UTCThe fix commit enters the public php-src branches (commit timestamp); merged into 8.3 at 14:12, 8.4 at 14:27 and 8.5 at 14:30 UTC.statedphp/php-src , read from a clone
2026-10-21 14:06:46 UTCGitHub release php-8.5.12 is published by adoy.statedphp-src
2026-10-21 14:17:09 UTCNVD publishes both CVEs with the CNA's CVSS v4.0 9.2 and no NIST score.statedNVD NVD
2026-10-21 14:41:54 UTCJakub Zelenka announces CVE-2026-109618 on oss-security; CVE-2026-109619 at 14:44:06Z.statedoss-security oss-security

Three accounts of what leaked

Calif's own write-up has a timeline that ends October 21 Patched versions released and does not mention a leak, a deleted video, or the Foundation's account. Chainguard's reply is behind a bot challenge; the search snippet says it does not dispute the time and denies leaking. The vault records both blocks.

PHP Foundation Daubois THN Calif Techzine

The claims on the leak and on timing

ClaimWho says itStatusPrimarySources
On 20 October at about 15:00 UTC the two CVE IDs began circulating on forums and social media with a wrong release time and a wrong CVSS score; no technical details leaked
Primary party. The Foundation does not say who or where.
PHP Foundationreported2/2PHP Foundation PHP Foundation
The leak started with an anonymous Hacker News post citing a reliable source, which came down after screenshots spread; a screenshot of the 'PHP2Shell tool' credited to Calif.io and a short exploitation video also went up and came down
Contradicts the Foundation's 'no technical details leaked' and The Hacker News's 'a proof-of-concept exploit leaked'. No copy of the post, screenshot or video is in the vault.
Alexandre Daubois (PHP security team, personal blog)reported0/1Daubois
watchTowr confirmed in public that the bugs were real and posted both CVE numbers before the releaseDaubois; CERT-EU lists a watchTowr X post among public reportsreported1/2Daubois CERT-EU
Calif mistakenly published a video around 20:00 UTC on 20 October showing its proof of concept against a number of targets; copies circulated and 'contributed to accelerated development of various PoCs'
Calif's own page does not mention a leak or a deleted video; it embeds two demo videos. Whether one of them is the deleted video is unknown.
PHP Foundationreported3/4PHP Foundation PHP Foundation BBC News Calif
Mitigation advice given to a few critical-infrastructure providers from about 23:00 UTC on 20 October may have leakedPHP Foundationreported1/1PHP Foundation
Chainguard unilaterally broke the embargo on 21 October at 07:41 UTC by publishing built images containing the fix
Dan Lorenc (via The Register): 'I made the call to get these out early when exploits hit in the wild'; several unnamed vendors had reported exploits; Chainguard's honeypots trapped IPs; a researcher warned the company on the Friday and its team then found the bugs independently with an AI harness. No evidence published. The PHP security team found no functional exploit by release time.
PHP Foundation; Chainguard's CEO accepts the time and denies leakingdisputed1/3PHP Foundation The Register Feross Aboukhadijeh on X on X
The release moved forward from 22 October 14:00 UTC to 21 October 14:00 UTC because of the leak
The php.net ChangeLog still dates all four releases 22 October. Wiz's X thread still says 22 October.
PHP Foundation; php.net pre-announcement; Wiz thread ('Apply the Oct 22 security release')confirmed4/4PHP Foundation oss-security Wiz on X php.net
The flaws were disclosed on 22 October 2026
Primary sources put the release at 21 October: GHSAs 13:34Z, tags 13:35Z, CVE records 13:48Z and 13:54Z, GitHub release 14:06Z.
BBC framing (UK morning coverage)contradicted2/3BBC News php.net php-src
The fixes were released at 14:00 UTC on 21 October
CERT-EU says 13:30 UTC; the tags and advisories are stamped 13:34 to 13:35 UTC; the GitHub release 14:06 UTC; the php.net feed entries carry 00:05 to 00:35 UTC, which are authoring times, not publication times.
php.net pre-announcement; Daubois; CERT-FR (16:00 Paris)disputed7/8oss-security Daubois CERT-FR CERT-EU php-src PHP php-src php.net
The pre-announcement was published at 19:30 UTC on 20 October
The php.net feed says 20:32 UTC; oss-security relayed it at 20:22:51 UTC, so it was public by then.
PHP Foundationdisputed3/3PHP Foundation oss-security php.net
The fix was authored on 18 October at 15:26 UTC and entered the public branches at 14:06 UTC on 21 October, with merges into 8.3, 8.4 and 8.5 between 14:12 and 14:30 UTC
Counted from the repository, not from a page. Five authors; 389 files; 10,689 insertions.
php/php-src commit 3584a98bd, read from a cloneconfirmed2/2php/php-src , read from a clone php-src