Top
Best
New

Posted by ejohnso49 6 hours ago

Today's PHP security release, and how we're strengthening security(thephp.foundation)
Related ongoing thread: PHP 8.2.35 - https://news.ycombinator.com/item?id=50180873

(links to more at https://news.ycombinator.com/item?id=50184935)

536 points | 274 comments
dofm 2 hours ago|
You may never hear me say this again because I am a gruff cynic who is not sure that hanging out here is good for his psyche, but thank goodness for HN.

While I have been chasing around today, trying to resolve this on different servers, it turns out a three line nginx mitigation (blocking multipart uploads) I wrote in the wee small hours GMT has been quietly protecting a vulnerable machine I could not shut down (from attacks powered by every single mainstream agentic AI tool — Anthropic, OpenAI, Qwen cloud, Baidu, seemingly also AWS, Meta)

Including an hour before the PHP patch actually shipped.

So without the HN discussion I wouldn't have found enough people pointing at possible mitigations and I would have lost a server to this, and I thank everyone who pointed out that second mitigation in particular.

eqmvii 3 minutes ago||
It was fun being here today. Validated a lot of the live frustrations and quirks and discovery.
UomoNeroNero 2 hours ago|||
YES!!!!

I absolutely loved being here today.

So many brilliant minds screaming and hating together, trying to survive the tide.

There aren’t many places like this left on the commercial internet, especially in this brave new AI-driven world.

I felt a great disturbance in the Force. But in a good way.

Together, we are strong. May the Force be with us all!

tasuki 1 hour ago|||
> from attacks powered by every single mainstream agentic AI

Is it so bad? Have you measured the number of attacks?

> So without the HN discussion I wouldn't have found enough people pointing at possible mitigations and I would have lost a server to this

I run a tiny server. I like this server a lot. I only patched an hour after the Debian package was ready and didn't think about it again. Do you mean to imply there's a real chance my little server has been compromised?

[Edit:] My server is quite public too. It hosts four SLDs and many subdomains and receives both human and bot traffic. Only one or two subdomains use PHP, but a reasonable attacker surely tries all of them.

dofm 53 minutes ago||
> Is it so bad? Have you measured the number of attacks?

It is not a torrent, no. Dozens up to hundreds, rather than hundreds to thousands.

But they would very likely have succeeded, right? It's a fairly turnkey vulnerability.

> I run a tiny server. I like this server a lot. I only patched an hour after the Debian package was ready and didn't think about it again. Do you mean to imply there's a real chance my little server has been compromised?

Can't say one way or another. Have a look at your log file for POST requests in quick succession for things like

  /_next 
  /_next/server
  /app
  /actions
  /api
  /dashboard
> [Edit:] My server is quite public too. It hosts four SLDs and many subdomains and receives both human and bot traffic. Only one or two subdomains use PHP, but a reasonable attacker surely tries all of them.

All my "obviously PHP app" domains got visited. None of my bespoke app domains (which are not obviously PHP). Though over time, the bespoke domains do get a whole bunch of boring probes for WP vulnerabilities etc., like all websites get.

tasuki 37 minutes ago||
> Have a look at your log file

Surely it doesn't take a very sophisticated attacker to clean up after themselves at least a little bit?

tom1337 25 minutes ago|||
Depends how your logging works. If you ingest logs to a remote server it's quite hard for an attacker to clean those up. Also I'd guess that most of the PHP exploits tried today weren't sophisticated but rather brute force and then either cryptomining or botnetting or something like this.
dofm 32 minutes ago|||
I think it doesn't, but I have to say, I have never seen an automated attack on a PHP application that has bothered to hide its traces.

If your attacker is someone known to you, some kind of persistent threat, then maybe they would? But most of this stuff is typically kind of worm-like; attack one box, use it to attack another, move on.

With this particular server I am in two minds about whether it is likely I have any persistent type hackers, but I must say what it looks like is automated attacks. AI script kiddies, almost. These same boxes attract all the typical PHP app probes (WP2shell etc.)

And FWIW what it actually mostly looked like was hits from some sort of cloud-based AI search API; they suddenly stopped at the same time as if someone else had pulled a plug. So maybe someone running an agentic search API decided not to be part of the probes.

ljm 19 minutes ago|||
HN was my source of truth for mitigating this
tclancy 1 hour ago|||
Agreed. It made my ancient old man face tear pores by smiling when I saw people organizing in the comments to throw sandbags against the wall while waiting to be rescued.
antihero 1 hour ago||
It’s scary that people haven’t been able to move uphill though.
dofm 47 minutes ago||
I mean, this isn't a things-made-in-PHP-are-bad problem.

It's a bit more a "certain C programming techniques are bad" problem.

This is more like log4j, heartbleed etc.

Won't be the last of these.

antihero 1 hour ago|||
It is bizarre to me that servers are considered something to be “lost” in this day and age. They should as borderline ephemeral as us.
dofm 52 minutes ago|||
By "lost" I mean, it might have been broken, commandeered, exfiltrated.

This is PHP world; it may be a share nothing architecture, but it's full of long-running VMs and very long-running apps.

cortesoft 24 minutes ago|||
I think calling private data "lost" if it is accessed is not a misnomer, even if you have backups.

You lost its privacy

InsidiousWombat 35 minutes ago|||
I'd like to express my dissatisfaction that the "big guys" are basically getting free security over getting earlier disclosure.

Just saying "hey blocking multipart uploads can mitigate most of attacks early would save people so much trouble. Of course not every CVE will have workaround but many do and whole secrecy about releasing it is only to benefit of few big tech companies and nobody else

pseudosavant 1 hour ago|||
Is it just me, or is it the truly brave that decide to deploy and protect PHP instances? Especially if WordPress or Drupal are involve?

I finished moving the remainder of my stuff off of PHP and WordPress last year and haven't missed it at all. Backwards compatibility was typically pretty bad.

It seemed like maintaining existing working PHP code was always a cycle of: upgrade to newer PHP, that version has breaking changes, fix that code or update to a new WordPress (plus all of the plugins that would inevitably need updating too).

dofm 25 minutes ago|||
I don't really want to be in the WordPress world anymore (I still maintain a couple alas).

But this isn't about PHP code, really — this is about C code (with less-than-ideal exception handler patterns). This problem is more Heartbleed than WP vulnerability.

I quite like modern PHP, I don't really think it's necessarily any less secure (exception handler weirdness notwithstanding), and more to the point, I don't think not using it is any kind of automatic improvement in web app security. It's not like server-side JavaScript is intrinsically better.

I am certainly doing some thinking today; I switched off a couple of web servers so I didn't have to think about them while I was working on other stuff, and actually I think they might not get switched back on. But it's not so much that they are running PHP as that they were kind of neglected and it's always worth reconsidering what you need to keep around.

I think I have reached a point where low value stuff is not worth subsidising just for fun.

technion 53 minutes ago|||
In nearly every org I've been in or contracted to, the public landing page of the company gets a special place outside of any ops of general technical team, and is instead the work of a marketing group or a "creative" outsourcer who will default to Wordpress on PHP.
jonwinstanley 17 minutes ago||
I’ve been to a few places like this and managed to get rid of the Wordpress infestation.
quotemstr 1 hour ago||
[flagged]
dang 41 minutes ago|||
Please don't cross into personal attack.

https://news.ycombinator.com/newsguidelines.html

quotemstr 40 minutes ago||
There's no personal attack here.

Unless your position that any statement whatsoever made in the second person that isn't a compliment is then an attack?

San Francisco is a magical place where "you are doing X wrong" without slathering on six paragraphs of fake kindness constitutes some kind of personal attack

dang 22 minutes ago||
"You're working on a false sense of security and encouraging others to do the same" was needlessly personal.

You can make your substantive points without that, both in San Francisco and elsewhere.

quotemstr 18 minutes ago||
In no sane culture is an engineering assessment made in the second person a personal attack. You'd call "you are holding the screwdriver wrong" a personal attack too.

He is, in fact, not mitigating the attack, and he is, in fact, by calling his non-workaround a mitigation, encouraging people to do ineffective things instead of patching. These facts remain true in the real world regardless of what you call a personal attack.

And yes, San Francisco has become top of the world for indirect fake kindness that transforms plain factual statements about the world into social offenses.

"The sun is bright. Don't look at it " -- RUDE!

"You might want to consider that the sun might be considered bright to some people and that you might be more comfortable looking at this other cool thing instead. But no pressure" -- gruff, barely tolerable

dofm 44 minutes ago|||
Well, OK then:

1) you're being rude, just stop it and get a grip

2) actually, this particular mitigation is very clearly stopping all the unusual patterns of POST request attempts I can see (it's not usually a busy server)

3) I know it is not the only mitigation that is necessary

4) … so it isn't the only mitigation I have applied

5) I am not working under a false sense of security, and I know it is temporary

6) I am not an idiot, and I am working on patching this machine, but this particular server has a unique and complicated configuration and needs a bespoke build

7) I have been prioritising much more serious risks for other people, all day, for no pay

8) again, to reiterate, you're rude.

dang 41 minutes ago|||
Please don't respond to a bad comment by breaking the site guidelines yourself. That only makes things worse.

https://news.ycombinator.com/newsguidelines.html

dofm 40 minutes ago||
Sorry dang but I had a wider point to make there and I'm not really going to apologise this time. The rudeness is only part of what needed to be responded to.

Also I have survived on too much coffee and probably too many chocolate biscuits. So actually, sorry, on reflection :-) What a day.

dang 23 minutes ago||
It happens! Good luck with the rest of it.

I appreciate how your excessive-biscuit status has yet to be determined :)

amelius 54 minutes ago||
We should really move to a different security model on the internet.

For example, when I buy something from a webshop, why does that webshop need my personal information? Why can't I give it a token, which it can then use to send my package, because only the postal system knows the address coupled to the token, etc.

And we should also ban user tracking for advertising purposes, obviously.

zadler 17 minutes ago|
What kind of political / economic system would make user privacy a priority? I'm guessing not finance capital neoliberalism...
Lonestar1440 2 minutes ago|||
Finance follows the risks and the users.

We'll probably never convince end-users to "vote with their feet" and use Privacy-focused products. But we can absolutely, through legislation or just precedent, raise the Risk profile until it's better to leave the ad revenue on the table and run a private service.

alemanek 8 minutes ago|||
Shift liability to those who store and sell data. They get full economic responsibility for fallout of breaches of data that is retained past the time necessary to complete the transactions. If they sell the data then they hold liability for all breaches of downstream parties as well. Require them to carry insurance against breaches.

It would completely destroy the data brokers and targeted ad industry but the world would be a better place as a result. Also not going to happen but I can dream.

dannyw 5 hours ago||
> 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.

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.

xp84 4 hours ago||
mistakenly?

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 4 hours ago|||
Your comment is funny. But obviously, "mistakenly" refers to the mistake of believing the embargo being broken, and then, very intentionally and not mistakenly, publishing a stupid video.
thayne 2 hours ago|||
I bet they had the video already made, the mistake was publishing it too early.
wredcoll 2 hours ago||
That's literally what they just said??
any_throw777 2 minutes ago||||
reminds me of the guy that dials in to the mullah, asking "hey, I fell on plate of shwarma and ate it, what should I do now?"

some people are just lacking coordination

tclancy 1 hour ago||||
Definite candidate for the next "What Did We Get Stuck in a Twitter Video this Year?" list.
MallocVoidstar 3 hours ago||||
That video was published 4 hours ago by lcfr_hax, the embargo ended four hours ago. Was it posted earlier and then deleted or something?
0c3ca83 3 hours ago||
That video ended the embargo. If someone releases a video telling you how to run an embargoed exploit, it's not an embargoed exploit any longer.
chinathrow 3 hours ago|||
That's not how embargos work.
joebonrichie 3 hours ago|||
de jure de facto
MallocVoidstar 3 hours ago|||
The embargo was announced for Oct 21 14:00 UTC: https://www.php.net/archive/2026.php#2026-10-20-1

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 3 hours ago|||
The video was posted hours early, quickly deleted (but not before being reshared), and then posted again at the proper time. The link in your comment is not the first release of the video
nicce 2 hours ago|||
It was posted yesterday 24h before and then deleted.
bombcar 5 hours ago|||
This is EXACTLY how marketing/pr firms actually coordinate no matter what they SAY.
yreg 5 hours ago|||
This is not the dancing anime girl video, is it?
atymic 5 hours ago||
That's the one
lenerdenator 3 hours ago||
This is your brain on anime waifus.
dang 4 hours ago||
Related:

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)

fg137 5 hours ago||
> Calif, one of the security firms that had reported the issues mistakenly published a video.

> 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.

Tepix 3 hours ago||
Perhaps Chainguard will be the last to receive the next bug report.
InsidiousWombat 32 minutes ago||
Given how security moguls are handling that, we should go back to "just release it, consequences be damned". Coz that gets normal people better chance of actually fixing it
chrisvls 4 hours ago|||
I’d say getting called out like this is a consequence.
eviks 3 hours ago||
So people will keep doing that
semiquaver 3 hours ago|||
That sounds oddly threatening, especially given that chainguard is in the right here. Embargoes are stupid in 2026 and make no sense. The rumor of this issue was enough for it to be independently discovered by several white hats and almost certainly many threat actors.
nicce 2 hours ago||
> Embargoes are stupid in 2026 and make no sense. The rumor of this issue was enough for it to be independently discovered by several white hats and almost certainly many threat actors.

The point of the embargo was to prevent all rumors? But it did not hold.

streetfighter64 1 hour ago||
Releasing a statement that a critical security bug exists with no more information, does the opposite of preventing rumors. I think one of the most surefire ways of generating rumors is to say "something big will happen tomorrow, please don't speculate about it".

Anyway, GPs point is that even if nobody leaked anything, and the only thing publicly known was the existence of the bugs, people would anyway have been able to find them independently. So what is the purpose of waiting 24h before releasing the patches?

kbenson 1 hour ago||
What are these "rules" you speak of? There's usually nothing binding in these agreements. It's just groups either trying to do the right thing by end users or trying not to look like assholes, get a better payout, or some combination thereof.

Finding an exploit and publishing is is not against the law. In some cases, publishing immediately is the responsible thing to do. For example, when it's actively being exploited in the wild, and waiting just puts people at risk that don't have any recourse to protect themselves, since they don't know they're at risk. There can be nuance to that as well, but in general, as soon as it's being exploited, anything that makes it harder for end users to a) know there is an exploit, or b) tell if they're susceptible to it (e.g. through a POC) is just taking away people's ability to take the action they deem appropriate.

jopicornell 2 hours ago||
I think the PHP security team and the whole PHP team could have been more communicative and keep releasing information, adapting to the news, suspected exploits and mitigations.

If a video is released showcasing the exploit and following mitigation recommendation, PHP should clarify what it is and if the mitigations are recommended or not. From the pre-announcement: > We reserve the right to release earlier should details of either vulnerability become public, or should evidence of active exploitation appear in the wild.

If no info is released by them, no other party should have released anything. If info is released or leaked from partners or involved parties, you should notify and explain what's going on.

But no, complete silence from PHP news or any PHP community member.

I get that it was a complicated situation, and I think PHP is the "less wrong" party involved, but I think this constructive and external criticism could help in the future. It has been an interesting day (GMT+2 here) and a rollercoaster of monitoring and mitigating without any reliable source.

Cthulhu_ 39 minutes ago||
> But no, complete silence from PHP news or any PHP community member.

Not entirely correct as they clearly announced that they were going to release a fix at a specific date and time; the mitigation doing the rounds was not adequate and if the PHP people republished it, it would lull people into a false sense of security. Overcommunication is also bad, especially if the official platform or the individual members are being watched by tens of thousands of people hungry for news or updates.

They knew (since august, arguably since 2024), they had a fix ready, everything was in place. Except for the untimely / accidental early leaks.

jopicornell 25 minutes ago||
The complete silence I refer is after the incidents and leaks. They stated in their preannouncement "We reserve the right to release earlier should details of either vulnerability become public". That sounded to me that if something is leaked, they'll release earlier or clarify. Neither was done and only after the release, clarified things.

But yes, the preannounce was the right move and the leaks were unfortunate, complicating things. But if cloudflare, bunny and other actors start mitigating in their WAF, I think something has gone wrong and, either you act by releasing earlier or calm the waters saying "the exploits are wrong" as per stated in their post, they thought it was the case.

fooker 14 minutes ago|||
“PHP security team”

Everyone in such a ragtag team would have an overlapping day job where the same crisis management needs to happen.

InsidiousWombat 31 minutes ago|||
If mitigation is known, it should be posted as soon as it is found. Not "wait patiently for packages to update and hope to not get hacked".
Tempest1981 11 minutes ago|||
But posting the mitigation helps guide attackers on how to exploit the vulnerability, and do so sooner.
jopicornell 15 minutes ago|||
I agree. That's what I hoped they'd have released between preannounce and version release. I think it's the minimum and doesn't hurt anyone.
bawolff 2 hours ago||
No meaningful info was released. A lot of incorrect info was speculated on.

I have a lot of sympathy for php team - it would be a lot of work to respond to every conspiracy theory on twitter, while trying to get everything ready, in the middle of the night no less.

jopicornell 54 minutes ago||
I have a lot of sympathy for the PHP team as well, I hope it doesn't sound like it.

A lot of speculated info was right: the mitigations were mostly right, the video showing exploitation was real and the release of a fixed image was real.

I think if you do a pre-announce, and you say that you could release it earlier or release new information and you don't, and there are reasons to inform your users, then even if it's the middle of the night for you, you should.

As they stated, they are a small team and they have changed their structure, and they are learning and improving. I think if something like this happens, info is vital for us, the administrators of PHP servers

eviks 3 hours ago||
> 2024, PHP underwent its first external security audit

> 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?

berkes 2 hours ago||
> Are there structurally much safer ecosystems out there?

Several attributes make a safer ecosystem. An important one is diversity - technical diversity.

For an interpreted language, the runtime is important. Python has several runtimes, as does Ruby. Javascript also has several, from the few browsers, to node, deno and bun. PHP has for all practical purposes, only one. So if there's a security incident in PHP, it affects almost all users. But when e.g. JRuby has a vulnerability, it will affect only a fraction of the installed ruby applications.

For compiled languages, the tooling, libraries and runtimes is where diversity is important. With e.g. rust, the vast majority of CVEs come from libraries (crates). But since there often are several crates for a single concept, diversity helps mitigate here too.

Cthulhu_ 34 minutes ago|||
> PHP has for all practical purposes, only one.

I know you added a caveat and all, but no, PHP has a number of alternative runtimes just like the other languages you mentioned: https://github.com/gakowalski/alternative-interpreters#alter...

But again with all the ones you mentioned, they have a "core" runtime that the vast majority of production apps use, so if NodeJS has a vulnerability it would be just as big.

The interesting one will be whether "boring" ports - like recently Typescript's TSC from Typescript to Go and now to Rust - will be safer for being the same code and logic, converted to another "safer" language (by transpilers or LLMs).

InsidiousWombat 30 minutes ago|||
...given amount of CVEs for Ruby that appears to not matter much
barelysapient 3 hours ago|||
I wonder if that isn't a side effect of how its structured...

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.

rvba 41 minutes ago||
why nobody in foundation management was not intereated in resulta of rhe security audit?

making php is the core of (checks notes) php foundation

or is the management full of completely not technical people who use it to boost their CVs?

redox99 2 hours ago|||
Rust and go don't have a C backbone like PHP does. So they are inherently safer to these kinds of vulnerabilities.
rafram 2 hours ago|||
Garbage collection is also an option. Lots of backends on the JVM!

(Of course there's Log4shell, but that could've happened to a Rust-based stack too, and might be more likely to, considering the proliferation of deeply-nested dependency trees full of tiny libraries in that ecosystem.)

barelysapient 1 hour ago|||
it's a good point. I wonder if we'll see a PHP fork and rewrite in rust. like tcrs. given the recently issues they would seem to benefit the most...
Cthulhu_ 33 minutes ago||
There are plenty of alternative interpreters or compilers out there already, no need to start a new one again: https://github.com/gakowalski/alternative-interpreters#alter...
gjsman-1000 3 hours ago|||
Yes. They're operated by big tech and called C# or Java.
nradov 2 hours ago||
While the main Java and .NET virtual machine implementations are much more secure than PHP, they were still written at least partially in unsafe C++. I won't be surprised if frontier LLMs eventually find more vulnerabilities in those platforms.
_moof 1 hour ago||
[flagged]
tclancy 1 hour ago||
Sure, because there are a zillion other people looking to step up.

Also, blameless post-mortems exist for a reason.

dalvrosa 2 hours ago||
Some code example for the exploits https://github.com/david-alvarez-rosa/php-rce
ernubufiei 5 hours ago||
> 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.

This is incredibly damming of Chainguard. I struggle to see justification for this, even with the chaos approaching the coordinated release.

yreg 5 hours ago||
They (is it the CEO?) commented on it earlier here: https://news.ycombinator.com/item?id=50176735

In their place I would worry that this was the last time anyone shared an embargoed build with them.

dannyw 5 hours ago||
Let's hope so. Shall we create a new norm? A 365 day timeout, for companies like Chainguard that deliberately break embargoes.

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!"

cobolcomesback 5 hours ago|||
Nah, Chainguard should be praised for this. It was a different company that leaked the POC early, and then PHP, Wiz, OpenAI, and Calif sat on their hands doing nothing while the vuln was being actively exploited in the wild. Chainguard did the right thing by getting the fix out as quick as possible to stop the bleeding (or gushing flow of blood, really) rather than sitting on it so they could make a coordinated marketing post, like the others did.
kstrauser 4 hours ago||||
That's a reasonably take. Embargos only work until the information's leaked, and once that's happened, however it happened, the bad guys have the exploit information and the clock starts ticking.
chrisvls 3 hours ago||
PHP’s view is that Chaingiard started the clock because the video was insufficiently detailed. Not sure if that is the case, but just sharing I had a different reading of the statement.
eterm 3 hours ago||
It was being discussed on here hours prior to the Chainguard release.
gruez 4 hours ago||||
>... Wiz, OpenAI, and Calif sat on their hands doing nothing while the vuln was being actively exploited in the wild.

What was Wiz/OpenAI supposed to do? PHP was already aware of the issue.

kijin 4 hours ago||||
But did they "get the fix out"?

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.

bawolff 4 hours ago|||
> It was a different company that leaked the POC early,

[citation needed]

By which i mean, this seems untrue. If you mean the anime video, that is not a leak of a PoC.

cryptonym 5 hours ago||||
I think multiple companies didn't respect the embargo, in different ways.

That can be for marketing purposes or by mistake. Not sure how to deal with that.

martinjc 4 hours ago|||
Chainguard effectively held everyone hostage, and forced everyone hosting container images and wanting to be online, to trust their builds and then saying they did it for "free" to get free advertisement. Incredibly irresponsible behavior. They used this as a big fat advertisement board.

Dont trust us with information lol.

dannyw 5 hours ago|||
A security vendor entrusted with advanced patches breaking embargo, is much worse than a security researcher breaking embargo.
jamietanna 2 hours ago|||
> What's next? "$X isn't patching this CVE fast enough, here's a binary blob of our fix [...]"

https://www.chainguard.dev/athena

https://www.chainguard.dev/unchained/this-shit-is-hard-build...

skrrtww 5 hours ago|||
I dunno, the post is awfully critical of Chainguard for leaking a fixed binary 6 hours early, but it was the research firm "partner" that "mistakenly" posted the dancing anime POC video over 24 hours early that created the mass panic (not to mention spawning millions of agents crawling the php codebase and trying to brute force a POC and probably using more energy than a lot of countries in the process).
john_strinlai 5 hours ago|||
i keep seeing mentions of the video, but is it still available anywhere?
bcvvvy 5 hours ago|||
https://x.com/k_firsov/status/2112641845926989944

Song is Petite Meller - High Forever (Marlon Hoffstadt Remix). Which is annoyingly catchy

john_strinlai 5 hours ago|||
wow, okay. yes, that really does look like a "my first PoC" video made by an early teenager. hard to believe that this was produced by a company that wants to be taken seriously.

thanks.

sippingabonedry 4 hours ago|||
If anything this is further justification for why these patches need to be kept under wraps.

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 4 hours ago||
These 'immature children' have discovered the exploit, so good luck keeping it under wraps from themselves.
numpad0 3 hours ago||
There do seem to be the perpetual problem with the field of computer security that only insufferable and immature kids matter, due to discrete math adjacent nature of computer science, and yet they also legitimately can't be trusted, or does it not... unless LLMs do change everything.
kps 2 hours ago||
The management class is certainly itching to ditch the remaining nerds.
bcvvvy 5 hours ago||||
Any idiot can create their own company. For example, I have one :)
unsnap_biceps 4 hours ago||
they claim 60 full time employees
quietsegfault 4 hours ago||
Any idiot can work for any idiot that starts a company!
b112 5 hours ago|||
I wish people would name this idiotic company, I can't see Twitter here and all people are talking about is a childish video they made. I don't ever want to do business with said company, ever.

They're apparently not trustworthy, and behave as children.

Hamuko 4 hours ago|||
It's Calif. They're named in the post.

>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

john_strinlai 4 hours ago|||
calif.io
numpad0 4 hours ago||||
That gif is a segment from Shukusei!! Loli Kami Requiem by Shigure Ui, the illustrator-VTuber-singer, FWIW...

1: https://youtu.be/Ci_zad39Uhw?t=15

railgunmerlin 4 hours ago|||
[dead]
cpa 5 hours ago||||
https://media.infosec.exchange/infosec.exchange/cache/media_...
arm32 4 hours ago|||
Definitely archiving this, lol.
tonyhart7 4 hours ago|||
lmao, these are funny af
Hamuko 5 hours ago|||
https://x.com/k_firsov/status/2112641845926989944
corford 5 hours ago||||
Agree. If I'm following along correctly, it seems Calif is really the one to blame not Chaingaurd.
yardstick 4 hours ago||
Both are to blame.

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 3 hours ago||
This is probably the future, tho. Being first to disclose a vuln is a Big Deal in some quarters. And now, the velocity of AI driven pentest swarms mean every researcher who finds something worthwhile has to think "how close is the next droog's swarm to finding what I found" and the temptation to jump the gun only gets stronger.
bawolff 4 hours ago||||
The video has no usable details in it.

It's maybe not professional to release an omg panic video, but not even remotely the same thing as what chainguard did.

dylan604 3 hours ago|||
I don't know, it's showing most sites being pwnd in less than 20s with some taking just under 30s. Of course, that's on homeboy's local Mac. Not sure how long it takes to gain control with PHP2Shell to run the exploit though. Just started looking at that part myself
bawolff 2 hours ago||
So, just because they showed they can doesn't mean they showed how.

I dont know why the timing of the bug is surprising to you.

numpad0 3 hours ago|||
there were security guys publishing inferred details from [INFO] messages, it did contain more than zero usable details
bawolff 2 hours ago||
Everything i saw on twitter prior to the release turned out to be incorrect. At most people figured out it had something to do with session upload handler and UAF, but nobody knew what.
cubefox 5 hours ago|||
> but it was the research firm "partner" that "mistakenly" posted the dancing anime POC video over 24 hours early that created the mass panic

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 4 hours ago||
The company, Calif, has it with the music, effects and Ui Shigure animation on their own website and youtube channel: https://calif.io/php2shell/#php-5-4-0-rce
tetha 4 hours ago|||
I think I'm too old for this industry

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.

fatty_patty89 4 hours ago||||
what's up with the obsession of these people with anime children?
numpad0 3 hours ago||
dopamine junkies crave stimuli, and realistic details of humans are just noise for the data. anime humans are simplified to extremis which alone makes some people think it's about kids
quietsegfault 4 hours ago|||
good god that video is absolutely horrible. why is stuff blurred then the same blurred stuff is suddenly all visible? nothing changed.
dylan604 3 hours ago||
it's called creative licensing. you can't account for taste though.
tflinton 5 hours ago|||
I kinda get Chainguard's position here. They were part of the embargo, saw exploits hitting in the wild already and decided to release rather than hold things back.

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 5 hours ago|||
Did they actually see exploits in the wild? The PHP Foundation team disputes this, and say they didn't observe any working PoC capable of an exploit.
danso 4 hours ago|||
The person who wrote the widely-referred-to tweet last night (claiming to "have recreated & lab/field tested CVE-2026-109618 / CVE-2026-109619") followed up a couple hours later and said that their POC had not been proven to work "in the wild"

[0] https://x.com/J4ck3LSyN/status/2112703096443097263

[1] https://x.com/J4ck3LSyN/status/2112753673235501137

nicce 4 hours ago|||
The whole post looked to be vibecoded and the code did not even match the claims
bawolff 4 hours ago|||
As far as i know they lied and are now retracting their claims. What they posted was not consistent with the details of the real bug.
skrrtww 4 hours ago||||
Cloudflare's blog post announcing its updated WAF rules directly implies the existence of in-the-wild exploits: https://blog.cloudflare.com/php-vulnerabilities-waf-protecti...

"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 4 hours ago|||
Attack traffic doesn’t necessarily mean the attacks were, or would have, succeeded.

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.

charcircuit 22 minutes ago||
You shouldn't wait until the attacks succeed to start deploying defenses.
bawolff 4 hours ago|||
That sounds like cloudflare trying to reassure paranoid customers. I think its a reach to go from that statement to actual in the wild exploits.
gjsman-1000 5 hours ago|||
Chainguard most likely interpreted Calif's dancing anime girl video as a script kiddie who had found a POC.
arm32 4 hours ago|||
Can you blame them? Calif's unbelievably unprofessional video's leak definitely spikes the cortisol of any actual professional.
dannyw 5 hours ago||||
It sounds like there was no "co-ordination" behind any of this co-ordinated disclosure. You'd have expected there to be an IRC channel, a mailing list, a Slack chat, or something for something of this scale.

Was there even an incident co-ordinator here? Was any of the parties talking to each other?

SiempreViernes 3 hours ago|||
And then decided to not ask the PHP foundation about it?
rskeens 4 hours ago|||
Many people actively following would have 403'ed multiparts so people seeing those blocked might have assumed it started being exploited early instead of probes / background noise.
andix 31 minutes ago|||
There were signs that others broke the embargo too. Public (this one video everyone is talking about), but maybe also non-public. There were some rumors going around which part of PHP was affected. That was enough for some people to figure out the vulnerability.

But it's also possible, that some attackers got non-public inside information.

If the embargo is already broken in a meaningful way, it suddenly becomes much less clear if it is still in place after all. Emphasis on >less clear<.

blantonl 5 hours ago|||
This single-handedly assures that I will never, ever do business with Chainguard or any member of its C-suite executive team.
john_strinlai 5 hours ago|||
if their comment in true (linked in sibling comments), then it's really not damning. typically an embargo is ended when someone leaks early or it's being exploited in the wild.

so, if they saw evidence of exploits in the wild, it is not unusual at all to release the fix.

ebilgenius 5 hours ago|||
If they're gonna unilaterally release an exploit patch 6 hours before an agreed upon embargo for a CVSS 9.2 that affects like ~70% of the internet then they better have reams of evidence showing this was being exploited in a widespread manner and not just "we saw a dancing anime girl edit of a theoretical exploit on twitter, so we had to release it to the world"
b112 4 hours ago|||
And evidence they at least gave a heads up to everyone in on the embargo, eg "I have to release you all have 1 hour to get on board".

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 4 hours ago||
> Not to mention, breaking trust.

I highly doubt their paying customers feel the same way

yardstick 4 hours ago|||
Maybe, but if I was maintaining PHP or another critical software, I’d think twice about letting Chainguard have inside information.

I would let Chainguard deal with the patches post official release like all other unreliable parties.

b112 4 hours ago|||
A weird take.

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.

dylan604 3 hours ago|||
> You only get to be an asshat once.

I have seen no evidence to back up this claim. Quite the contrary actually.

richwater 3 hours ago|||
> You only get to be an asshat once.

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".

lenerdenator 3 hours ago|||
It's the age of LLMs. Exploits go from theoretical to real fairly quickly. PHP's open source, it's not impossible to conceive of someone seeing that video, getting the general idea of what to do, and working the rest out with a decent model.
blantonl 5 hours ago|||
[flagged]
arm32 5 hours ago|||
Brain rot is making us incompetent, dangerously impatient, or a mixture of both.
Grollicus 5 hours ago|||
Not sure if this [1] comment is from them?

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

[1] https://news.ycombinator.com/item?id=50176735

gjsman-1000 5 hours ago||
So if I'm understanding correctly:

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.

mirashii 5 hours ago|||
> 3. Chainguard sees dancing anime video, doesn't recognize Calif, and thinks the exploit is in the wild

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.

bawolff 4 hours ago|||
Which seems to be someone bullshitting with AI and had nothing to do with the exploit in question.
danso 4 hours ago|||
That same user wrote a followup tweet last night asserting that their POC wasn't ready to do an exploit in the wild https://x.com/J4ck3LSyN/status/2112753673235501137
ebilgenius 5 hours ago||||
Or maybe the anime girl video was an edit someone else made on top of an otherwise normal Calif video.

Still not great though.

gjsman-1000 4 hours ago||
Unbelievably the anime girl video was the official version from Calif.

https://calif.io/php2shell/#php-5-4-0-rce

keketi 4 hours ago||
The video got taken down by a copyright claim from Sony Music Entertainment. Unthinkable levels of unprofessionalism by Calif.
Hamuko 5 hours ago|||
Not really sure if 3 is correct. Might have been Calif leaks the video -> it goes viral -> people make PoCs based on the video -> Chainguard releases the binary because there seem to be credible PoCs out there (that are not just the Shigure Ui video).
maqnius 3 hours ago|
I was asking myself today; how to ensure that you don't miss a cve? I mean you'll sooner or later stumble across it if you're monitoring your communities but I thought that maybe there exists some kind of central solution, like a service were you could subscribe for your tech stack and get notified?
T0Bi 2 hours ago||
Big companies usually use some sort of vulnerability response management software which is connected to your CMDB, ideally containing SBOMs of everything you use, and subscribed to various providers of CVEs. Those tools then map the CVEs to your SBOMs and you'll get alerts, security incidents and so on.
berkes 2 hours ago|||
Several tech stacks have this built in or available.

For my rust applications, I use "cargo audit" which checks all dependencies against the CVEs. For my typescript and javascript applications, deno audit and/or yarn npm audit.

For the rest of the stack `debsecan` does exactly what you want on Ubuntu: report CVEs for installed software.

yreg 1 hour ago|||
I was thinking about this as well today. And while I'm sure there are many cybersec companies that send out alerts, I trust this forum the most.

Maybe it would be worth it to have an agent that knows your stack, reads the top threads on hn all day long and messages you when it thinks there is something serious going on that could impact you.

bmurphy1976 3 hours ago|||
I don't think there's any robust method. I lurk HN, subscribe to security lists, run our code through scanning tools regularly. All options suck, all options have gaps, and all options mean you have to stay on the hamster wheel.
bredren 3 hours ago|||
I’m curious about this too, although I would somewhat hesitate to rely on that, except as a contributing point of information.

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 3 hours ago|||
Lots of licensed solutions have this (typically SAST or DAST tooling like Snyk, etc...). Given your build manifest/SBOM they cross-reference CVEs for vulnerabilities during/after build time.

Some have free licenses, many don't.

mk89 2 hours ago||
There are also better tools like Sysdig, Twistlock, etc. which scan containers at runtime for CVEs.

Sometimes build time is too slow (e.g., a repo that doesn't receive updates every day or so).

ktbwrestler 3 hours ago|||
I may be misunderstanding this but think the hard part about building a threat intel feed like this is just trusting that the underlying integration would surface something you care about... especially if you want to DIY it. You can scrape HN, GitHub advisories, NIST, whatever you want... but you may give yourself a false sense of security after seeing the "all clear" checkbox each morning

I hope that someone has some sort of a reasonable approach here / I would love to help work on something open source if not

rcbdev 1 hour ago|||
GH Dependabot.
knowinow 2 hours ago|||
Any tool to scan dependencies takes various inputs like repos, container stores or already built SBOM and gives you warnings. It doesn't much matter if you have actual code and repos as long as you know how to point it at some. The fremium ones like snyk would love to send you an email report on growing CVE counts on your last run but only until hell freezes over..
SoftTalker 2 hours ago||
Turn on automatic updates.
nradov 2 hours ago|||
That's great until an attacker compromises the automatic update system and uses it as a vector.
SoftTalker 1 hour ago|||
I would wager that far more systems get exploited because they are out of date (sometimes woefully) than by poisoned package repos.

But, certainly do your own threat assessment and develop and implement whatever plan works for you.

ezfe 2 hours ago|||
That's what cooldowns are for
nradov 2 hours ago||
That's great until you have a public zero-day exploit.
Cthulhu_ 31 minutes ago||
If it's big enough like this one you can always make an exception.
InsidiousWombat 28 minutes ago||||
but the embargo delayed the updates
grumple 2 hours ago|||
This is how you get wrecked by malicious packages being published or other breaking bugs. Pin your versions.
More comments...