313 points ejohnso49 3 hours ago 157 comments
cubefox 3 hours ago | parent
petecooper 2 hours ago | parent
This was partly me. I take responsibility for posting it on HN. I am truly sorry for the disruption this has likely caused.
My contact had informed me there was no embargo, and told me her contact had told her the same. It transpired this morning that was a lie.
>On October 21st at 07:41 UTC, more than six hours before the coordinated release, Chainguard unilaterally broke the embargo and published built images containing the fix. Like other distributors, Chainguard had received the patch in advance so its users could update the moment the vulnerabilities were disclosed. Any attacker could now study the fix in binary form while every other PHP user was still waiting for the release. This disregarded weeks of work by many parties toward a coordinated disclosure.
On the plus side, at least I'm not Chainguard. Yikes.
dannyw 2 hours ago | parent
This is the most surprising part to me. It sounds like Calif saw the leaks, interpreted that as embargo being broken, and then raced to publish their [anime dancing] marketing video? I'd have expected much better.
bombcar 2 hours ago | parent
xp84 1 hour ago | parent
This reads like some guy tripped and fell on top of his mouse and in so doing, accidentally turned on screen recording, performed the exploit a few times, got the anime girl asset and soundtrack, dropped all of them into Premiere, added the weird effects, rendered the video, and published the video to Twitter. "Ow. What did I fall on? Oh noooo, I broke the embargo!"
Heck of a mistake.
RamRodification 1 hour ago | parent
MallocVoidstar 37 minutes ago | parent
0c3ca83 31 minutes ago | parent
MallocVoidstar 21 minutes ago | parent
The video was posted 44 seconds before that time: https://x.com/lcfr_hax/status/2112906567662399830
This can't possibly be interpreted as some major violation of the embargo, so what are people talking about?
Georgelemental 15 minutes ago | parent
lenerdenator 16 minutes ago | parent
bowersbros 2 hours ago | parent
thinkindie 2 hours ago | parent
eqmvii 2 hours ago | parent
Droobfest 2 hours ago | parent
lol768 2 hours ago | parent
emilburzo 2 hours ago | parent
You have your source code public, so you can't commit/push because then you've leaked info.
Your build pipeline is also likely public, so you can't just build from another source code... source.
You can create a private repo, but now you also need to build a private build system.
You don't get the same generous build resources for private repos, so you either:
a) simplify the build to just the essentials
b) pay
Unless you have significant funding, you'll probably go for a).
Now you have to maintain two systems, also with some differences between them.
Plus you need a way to get the build artifacts from the private system to the public one, typically at a fixed point in time.
Any failure/delay (e.g. less powerful build on private repo, errors because you exercise it rarely) causes people to get upset that you didn't respect the announced time.
Maybe you're also using things like image attestation, another can of worms.
modeless 1 hour ago | parent
emilburzo 1 hour ago | parent
But let's go with that scenario, now you have all sorts of problems, from practical to security, like:
- accidentally/maliciously building the wrong thing? there's a patch, people agreed to it, but the wrong commit is built
- building for multiple architectures/versions?
- signing keys on someone's laptop?
- worse, image push/write keys on someone's laptop?
And so on.
modeless 1 hour ago | parent
The problems you bring up here are eminently solvable too. Yes there are many solutions for building for multiple architectures and versions. Cross builds, containers, VMs, or just having more than one computer locally. You can address building the wrong thing with reproducible builds, but for a one off patch like this it's not the most likely problem and relying on a trusted maintainer temporarily during an emergency is better than waiting for a glacially slow cloud build while exploits spread. Pushing builds to the cloud is inherently a cloud step, so it's fine to leave keys for that in the cloud, but there should be a process for publishing local builds and it should be essentially instant when the build is already done.
You should always have a local build process that replicates CI. There is no excuse.
cobolcomesback 1 hour ago | parent
But they had _two months_ to figure out how to overcome them. For them to not have figured out a solution and have pre-built images ready to push as soon as the embargo lifted is ridiculous.
inglor_cz 1 hour ago | parent
PHP is written in C, I'd be surprised if similar problems didn't lurk in other places.
Maybe they will construct the private pipeline after this crisis. Millions of websites are probably now waiting for all the downstream Docker images to be built and pushed.
emilburzo 1 hour ago | parent
It would be great, but it's also something to manage. Just keeping it working with all the changes that happen across all projects would be something.
inglor_cz 1 hour ago | parent
But the top 1 percent by usage/downloads, I can imagine, and PHP probably qualifies into that top slice.
yangm97 32 minutes ago | parent
fguerraz 2 hours ago | parent
Being given advance notice of an upcoming security fix is an immense privilege, organisations should turn around quickly when given such information, they shouldn’t be given more than a couple of days to update IMHO, it’s not like the rest of the world can wait.
Scaled 1 hour ago | parent
(It is often much cheaper for an enterprise to just get a long term support contract than to properly upgrade to a modern PHP stack.)
dylan604 15 minutes ago | parent
I've experienced similar to this. I know I shouldn't be, but I still get amazed every time I hear that some small company is still using an old DOS machine running core software based on dBase that nobody has any clue on how works and the developer has since moved on to a higher plane. One person told me that they sweat every time the power goes out longer than the attached UPS can run holding their breath that the machine powers back up.
kyriakos 2 hours ago | parent
dofm 10 minutes ago | parent
For all the long-tail users, PHP is a distro package. That route needed the most work instead, and it got it.
ernubufiei 2 hours ago | parent
This is incredibly damming of Chainguard. I struggle to see justification for this, even with the chaos approaching the coordinated release.
blantonl 2 hours ago | parent
yreg 2 hours ago | parent
In their place I would worry that this was the last time anyone shared an embargoed build with them.
dannyw 2 hours ago | parent
Very irresponsible behaviour in my opinion; and if it's a decision made unilaterally by their CEO, probably a breach of their SOC 2 certification. What's next? "$X isn't patching this CVE fast enough, here's a binary blob of our fix, don't worry, we're making this free!"
cryptonym 2 hours ago | parent
That can be for marketing purposes or by mistake. Not sure how to deal with that.
dannyw 2 hours ago | parent
martinjc 1 hour ago | parent
Dont trust us with information lol.
cobolcomesback 1 hour ago | parent
kstrauser 1 hour ago | parent
chrisvls 48 minutes ago | parent
eterm 44 minutes ago | parent
kijin 1 hour ago | parent
They released some binaries, built for their own docker image based on their own Linux distro. Other people couldn't use Chainguard's "fix" to patch their own systems. The only people who seem to have benefited from the stunt are the hackers who used AI to reverse-engineer the binaries and write exploits.
That was a giant fuck-you to the rest of the PHP ecosystem, nothing more.
gruez 1 hour ago | parent
What was Wiz/OpenAI supposed to do? PHP was already aware of the issue.
bawolff 1 hour ago | parent
[citation needed]
By which i mean, this seems untrue. If you mean the anime video, that is not a leak of a PoC.
Grollicus 2 hours ago | parent
Because if there are already publicly available exploits seen, it makes no more sense to keep holding patches back just so that OpenAI etc. can get a nice press release
gjsman-1000 2 hours ago | parent
1. There was a leak of the pre-announcement
2. Calif sees leak, goes and releases dancing anime girl video before pulling it, goes viral
3. Chainguard sees dancing anime video, doesn't recognize Calif, and thinks the exploit is in the wild
[Edit 3a]: Or alternatively, Calif's leaked video causes the PoC to be found by others by providing enough of a lead
4. Chainguard releases updated binaries thinking it doesn't matter, causing the real exploit to then be found early
5. Which then causes PHP Foundation to basically have a meltdown
Personally I blame Calif for the unprofessional video which absolutely completely looks like some script kiddie and for being too detailed [edit 2: assuming Calif produced it and the anime wasn't a prank edit]. In this case it wasn't just unprofessional fun but may have literally messed up the responsible disclosure.
ebilgenius 2 hours ago | parent
Still not great though.
mirashii 2 hours ago | parent
I'm not sure about this part. I saw https://jackalsyn.com/posts/php-up-2026.html going around a bit over 12 hours ago, before the chainguard images went out, and plenty of other chatter of exploitation happening in the wild.
danso 1 hour ago | parent
bawolff 1 hour ago | parent
Hamuko 2 hours ago | parent
john_strinlai 2 hours ago | parent
so, if they saw evidence of exploits in the wild, it is not unusual at all to release the fix.
ebilgenius 2 hours ago | parent
b112 1 hour ago | parent
There is a MASSIVE difference between a small number of people exploiting in the wild, and a few hours after a release a bazillion script kiddies doing so. The move to release and break an embargo was childish, absurd, self-serving, and lacking in all common sense. Not to mention, breaking trust.
I agree with those in this thread who say, never going to do business with them. Ever.
richwater 1 hour ago | parent
I highly doubt their paying customers feel the same way
b112 1 hour ago | parent
As a customer, I'd immediately assume no one in the security community would trust them again, and seek someone else to give my money to. Why pay a) an untrustworthy company who b) now is not trusted by anyone and c) won't ever be able to early release again anyhow? And if anything, are left out of important conversations.
Way to burn bridges. You only get to be an asshat once.
richwater 52 minutes ago | parent
TIL observing an exploit in the wild, after the details leaked during the embargo and pushing a fix for your customer is "being an asshat".
dylan604 27 minutes ago | parent
I have seen no evidence to back up this claim. Quite the contrary actually.
yardstick 1 hour ago | parent
I would let Chainguard deal with the patches post official release like all other unreliable parties.
lenerdenator 8 minutes ago | parent
arm32 2 hours ago | parent
skrrtww 2 hours ago | parent
john_strinlai 2 hours ago | parent
Hamuko 2 hours ago | parent
bcvvvy 2 hours ago | parent
Song is Petite Meller - High Forever (Marlon Hoffstadt Remix). Which is annoyingly catchy
john_strinlai 2 hours ago | parent
thanks.
b112 2 hours ago | parent
They're apparently not trustworthy, and behave as children.
john_strinlai 1 hour ago | parent
Hamuko 1 hour ago | parent
>As a result of the leak and pre-announcement around 20:00 UTC, Calif, one of the security firms that had reported the issues mistakenly published a video. It showed their proof of concept working against a number of targets and revealed a few additional, though limited, details about the vulnerabilities.
You can see the same demo video on their site: https://calif.io/php2shell/#php-5-4-0-rce
sippingabonedry 1 hour ago | parent
This industry is full of immature children who cannot keep their mouths shut for 24 hours. They have no clue what massive coordination this requires.
yreg 1 hour ago | parent
numpad0 41 minutes ago | parent
numpad0 58 minutes ago | parent
cpa 1 hour ago | parent
cubefox 2 hours ago | parent
They took it down but someone (Kirill Firsov: https://x.com/k_firsov/status/2112641845926989944) added the anime stuff and reposted it. Totally irresponsible.
Edit: okay he didn't add the anime, but he reposted it.
debugnik 1 hour ago | parent
fatty_patty89 1 hour ago | parent
numpad0 45 minutes ago | parent
tetha 1 hour ago | parent
I want to go back to talks by bored defcon guys or gals calmly stating how they obtained private keys of a globally trusted CA with just a bit of math. Which, mind you, ate the other part of the teams time.
Now I know how much I hustled today likely due to that atrocity of a video. I think I will take a vacation day and sit in a forest near a river on friday.
corford 1 hour ago | parent
yardstick 1 hour ago | parent
Calif more than Chainguard, but still Chainguard too.
Calif was obviously twitching to claim credit for their findings, and what I find troubling is this eagerness was more important to them than giving users a chance to update their systems.
Even if they ended up waiting only a day post release I would still say it seems a bit too soon. Maybe a week after. Not everyone’s system have aggressive patching schedules and PHP is soo heavily used.
kjs3 25 minutes ago | parent
bawolff 1 hour ago | parent
It's maybe not professional to release an omg panic video, but not even remotely the same thing as what chainguard did.
numpad0 43 minutes ago | parent
dylan604 39 minutes ago | parent
tflinton 2 hours ago | parent
Embargos make sense if no one is exploiting it yet, but if its out in the wild, the best path forward is releaseing as soon as possible.
dannyw 2 hours ago | parent
gjsman-1000 2 hours ago | parent
dannyw 2 hours ago | parent
Was there even an incident co-ordinator here? Was any of the parties talking to each other?
arm32 1 hour ago | parent
SiempreViernes 24 minutes ago | parent
danso 1 hour ago | parent
skrrtww 1 hour ago | parent
"Cloudflare successfully deployed multiple mitigations for all its customers while the vulnerability was leaked before the official release date and we observed attack traffic targeting our customers."
If that's not an in-the-wild exploit, it literally couldn't have been further away than one or two more iterations.
snowwrestler 1 hour ago | parent
From Cloudflare’s perspective, there is no downside to saying what they observed, and deploying defenses.
We may never know if this was actually being successfully exploited prior to patch availability.
bawolff 1 hour ago | parent
rskeens 1 hour ago | parent
ChrisArchitect 2 hours ago | parent
PHP2Shell: AI uncovers critical RCE in PHP
https://news.ycombinator.com/item?id=50180836
Patch the Planet: global response coordination as agents uncover critical vulnerabilities
https://news.ycombinator.com/item?id=50181175
Upcoming critical PHP security release (CVE-2026-109618 / -109619)
charcircuit 2 hours ago | parent
>This disregarded weeks of work by many parties toward a coordinated disclosure.
Good. Coordinated disclosure meant that people couldn't protect themselves. That's not a good thing. It meant sites were forced to shut down instead of simply updating.
S0y 2 hours ago | parent
lrae 2 hours ago | parent
blantonl 2 hours ago | parent
They didn’t get to unilaterally decide that the embargo was inconvenient and publish early.
john_strinlai 2 hours ago | parent
tflinton 2 hours ago | parent
BHSPitMonkey 1 hour ago | parent
Maybe your calculus could hold if Chainguard's registry were the primary distribution mechanism for PHP in use worldwide (such that the benefit of an updated image would at least be widespread compared to the sitting ducks relying on the other repositories), but it isn't.
lol768 2 hours ago | parent
Okay, but how close did they get? Were they close enough that a determined actor could've (perhaps using an LLM) managed to get to a functioning exploit?
Grollicus 2 hours ago | parent
bombcar 2 hours ago | parent
This is the real story. You ship one of them (the breaking change) with —fuck-my-shit-up or something as a compile time option to switch to the other fix.
fg137 2 hours ago | parent
> Chainguard unilaterally broke the embargo and published built images ...
Won't be the last time this happens. If there is no consequence of breaking the rules, people will keep doing that.
cubefox 2 hours ago | parent
redox99 1 hour ago | parent
It sounds cliche but yes, they should rewrite PHP in rust or other memory safe language.
cute_boi 1 hour ago | parent
muspimerol 1 hour ago | parent
vaylian 1 hour ago | parent
sevenzero 1 hour ago | parent
TheJoeMan 1 hour ago | parent
adithyassekhar 1 hour ago | parent
wannabe44 1 hour ago | parent
yugoslavia4ever 1 hour ago | parent
ClarityJones 56 minutes ago | parent
gitremote 33 minutes ago | parent
direwolf20 29 minutes ago | parent
yreg 29 minutes ago | parent
snowram 23 minutes ago | parent
yreg 32 minutes ago | parent
miohtama 1 hour ago | parent
The guide to PHP security:
Use something else.
The end.
dang 1 hour ago | parent
PHP 8.2.35 - https://news.ycombinator.com/item?id=50180873 - Oct 2026 (439 comments)
PHP2Shell: AI uncovers critical RCE in PHP - https://news.ycombinator.com/item?id=50180836 - Oct 2026 (146 comments)
PHP session.upload_progress heap UAF (CVE-2026-109618 / -109619) - https://news.ycombinator.com/item?id=50176077 - Oct 2026 (61 comments)
Security advisory: Critical remote code execution vulnerabilities, update now - https://news.ycombinator.com/item?id=50172041 - Oct 2026 (631 comments)
Tell HN: 2x PHP RCE CVEs with CVSS 10.0 Incoming - https://news.ycombinator.com/item?id=50167754 - Oct 2026 (60 comments)
eviks 35 minutes ago | parent
> PHP security team, operating on consensus, struggled to choose
What an unfortunate waste of a security audit. (and consensus is an obvious flaw in decision making)
> PHP runs a large share of the web... Yet security work on PHP itself still depends on a small group ...
Another unfortunate big structural issue that's unlikely to change.
Are there structurally much safer ecosystems out there?
gjsman-1000 31 minutes ago | parent
barelysapient 31 minutes ago | parent
When a corporation sponsors the language, such as Java, Go, .Net, there's an inherent economic component which acts as a forcing function.
PHP being a foundation sounds nice. But consensus wasn't strong enough to affect the key outcomes.
maqnius 16 minutes ago | parent
ktbwrestler 12 minutes ago | parent
I hope that someone has some sort of a reasonable approach here / I would love to help work on something open source if not
bredren 11 minutes ago | parent
PHP2SHELL, in particular, made me expand my weekly security review to include my external network resources.
The natural conclusion for this seems to be realtime monitoring CVE and pre-CVE vulnerability indications in exposed stacks.
jungturk 5 minutes ago | parent
Some have free licenses, many don't.