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 commentspage 2
imglorp 1 hour ago|
> In 2024, PHP underwent its first external security audit in years. The PHP Foundation secured funding from the Sovereign Tech Agency to organize this audit ...

Well that's your problem right there! There are trillion dollar companies profiting off the back of open source projects without supporting the projects adequately. Why should they be scraping for funding for basic table stakes like audits?

adithyassekhar 5 hours ago||
It's interesting that even 4chan was taken down for over 24hours now. Responsible people there.
otterley 2 hours ago||
And nothing of value was lost.
yreg 4 hours ago|||
SomethingAwful too
doublerabbit 3 hours ago||
DeviantArt as well
wannabe44 5 hours ago||
[flagged]
yugoslavia4ever 4 hours ago||
What uncomfortable truths?
ClarityJones 4 hours ago||
Instead of demanding proof, you could prove them wrong by providing an example of truths that are uncomfortable, but not considered bigoted.
snowram 4 hours ago|||
Climate change that keep getting worse, rising political extremism, the wealth gap getting bigger and bigger, I can keep going but you get the point. You just have to open any news media once really.
yreg 4 hours ago||||
Complex socio-economic problems usually lack fast, simple solutions.
direwolf20 38 minutes ago||||
As you can see from a sibling comment (turn on showdead), you're not allowed to post uncomfortable truths on HN. The non-dead sibling comments are quite comfortable truths that are pretending to be uncomfortable.
gitremote 4 hours ago||||
0.999... = 1
direwolf20 4 hours ago||||
[flagged]
godd2 3 hours ago|||
[flagged]
DooMMasteR 3 hours ago||
Maybe a new one? https://fedi.katze.sh/@elise/117479383739450605
selckin 2 hours ago|
https://www.openwall.com/lists/oss-security/2026/10/21/23
bowersbros 6 hours ago||
Step 1: Ensure that docker images are available when the embargo is released. We're 2 hours in, and they still aren't available.
emilburzo 6 hours ago||
I can empathize with them, this is actually quite difficult when you're an open source project.

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.

cobolcomesback 5 hours ago|||
Those are all challenges that surely need to be overcome!

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.

dofm 2 hours ago||
Did they have the money and the people? PHP is chronically underfunded.
InsidiousWombat 1 hour ago||||
Linux Kernel approach of "just publish fix without fanfare" seems to be least compromising way to do it. Every bug can be security bug
yangm97 4 hours ago||||
A private build followed by a manual push would take literally two commands and could be done from a maintainer’s laptop… it is not rocket science.
Leherenn 3 hours ago||
I don't know about PHP, but at work our artifacts are signed, and you certainly cannot have the signing certificate on your laptop. It's stored in some secure server, and only accessible from some allowlisted build nodes, for specific builds (release branch, ...).

Now of course, there are ways around that if required, but they are, by design, manual, cumbersome and slow. I could not create a release build locally in a few minutes. A few hours maybe if the whole organisation dedicated itself to it.

InsidiousWombat 1 hour ago||
Setting up all that for single man project might be a hassle but for any sofware with actual dev team I wouldn't call it hard to do.

I'd worry more about the fact that essentially publishing binary-first means that it ever gets compromised that makes it easier for attacker to smuggle exploit using "this is security update" pretext.

inglor_cz 5 hours ago||||
I'd say that for someone like PHP, in this era of AI-driven vulnerability/patch race, having a private CI/CD pipeline is a necessity.

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 5 hours ago||
The images everyone is waiting for are built by Docker though? So now if you're Docker you have to have a private CI/CD pipeline with all library projects?

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 5 hours ago||
All library projects, certainly not.

But the top 1 percent by usage/downloads, I can imagine, and PHP probably qualifies into that top slice.

modeless 5 hours ago|||
Making a cloud CI/build/release system whose behavior can't be reproduced locally requires some kind of brain damage. I can't believe people tolerate this.
emilburzo 5 hours ago||
That's... not what I said at all?

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 5 hours ago||
The problems you describe in your first post are only problems when you can't reproduce your build process locally. With a local build you can always do it in private for free.

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.

lol768 6 hours ago|||
The PHP Foundation should manage it, the Docker ""Official" Images" approach clearly just doesn't work properly for responding to vulnerability patches.
dofm 4 hours ago|||
FWIW, Docker images are a nice-to-have, but OCI containers are not how most PHP users get their PHP.

For all the long-tail users, PHP is a distro package. That route needed the most work instead, and it got it.

berkes 2 hours ago||
There's over 3 million downloads per month for the official PHP image. That may certainly not be "most PHP users". But still is a a lot of users.

I'm quite certain that your exact sentiment is why the images weren't updated immediately: I'm afraid PHP foundation doesn't see docker images as a particularly important distribution system.

dofm 2 hours ago||
> I'm quite certain that your exact sentiment is why the images weren't updated immediately:

I wouldn't be that certain.

I think it's likely that the vast majority of PHP Docker image downloads are for local development, for one thing.

But nevertheless, it would not come close to the number of websites running PHP from the Ubuntu Server packages. It is absolutely right that the effort was focussed on the distribution route. Because PHP is not "expert" hosting territory; it is still more often whole cloud VMs running the distro packages.

fguerraz 6 hours ago|||
I find it incredibly naive that they’d hope it would not leak after weeks/months of embargo.

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 5 hours ago||
Keep in mind that some of the organizations are presumably patching ancient versions of PHP like 5.6. I am sure this is a process which takes considerable time, especially as upstream PHP has washed their hands of such old versions and the downstreams are effectively on their own.

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

InsidiousWombat 1 hour ago|||
That... just makes it so their tech debt turns into entire world's security problems.

5.6 is unsupported. There should be not getting special treatment just because they have massive tech debt

dylan604 4 hours ago|||
> (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.)

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.

thinkindie 6 hours ago|||
today I learned that building your image from scratch is fundamental in cases like this. Luckily I came prepared thanks to Claude Code suggestion.
kyriakos 6 hours ago|||
Aren't those run by docker? php foundation cannot be responsible
berkes 2 hours ago||
PHP foundation also doesn't "Run" the apt or rpm packages, yet they certainly coordinated with debian, and other big distros to push the updates out timely.

Now I don't know what happened here. Maybe PHP foundation reached out to docker but got no help, maybe they simply forgot about docker as distributor of their software.

eqmvii 6 hours ago|||
Yep, all our efforts are now focused on working around that. It's pretty neat!
Droobfest 6 hours ago||
Never using docker hub ever again
lol768 6 hours ago||
> The PHP security team closely monitored and inspected appearing PoCs after the leak but did not identify any functional exploits at the time of release/public disclosure

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 6 hours ago||
I know of a php exploited about 4 hours before their release time 1400 UTC, using the session bug in an exploit that was passed around. I'm really not very much in the loop about cyber security things.
bawolff 3 hours ago||
I saw two on twitter, they were both pretty far away.
nicce 6 hours ago||
What is the penalty of breaking the embargo? Not shipping patches anymore beforehand?
dannyw 6 hours ago||
It might make other projects reconsider sharing advanced patches with Chainguard.
InsidiousWombat 1 hour ago||
Nothing's gonna happen, just as with previous embargo breaks, people complain yet nobody involved gets punished
xyst 20 minutes ago||
A mere digital slap on the wrist via "bad publicity".
ChrisArchitect 6 hours ago||
Related:

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)

https://news.ycombinator.com/item?id=50172041

xavdid 3 hours ago||
Off topic, but TIL that .foundation is a TLD!
NSUserDefaults 1 hour ago||
Very disappointed by Hetzner Ubuntu mirrors not getting updated in time. Had to manually override to get the patch.
Cthulhu_ 1 hour ago|
Same here, I suppose they didn't bother triggering a cron job early? They did patch managed servers and the like according to https://status.hetzner.com/incident/f4144d55-38c3-48d1-8664-....
More comments...