Top
Best
New

Posted by tuyuri 8 hours ago

PHP 8.2.35(github.com)
Related ongoing thread: Today's PHP security release, and how we're strengthening security - https://news.ycombinator.com/item?id=50182987
929 points | 520 commentspage 2
majewsky 8 hours ago|
> out-of-memory handling can interrupt PHP while internal request data is only partially initialized. Request cleanup may then treat the invalid data as valid.

If only we could come up with a way to manage memory automatically. Alas, one can only dream.

kg 7 hours ago||
I'm pretty sure this class of problem would exist in GC'd environments too unless they're configured to abort on OOM, in which case you'd still be dealing with denial-of-service.

In some environments OOM is a trappable exception, so it's possible that incorrectly authored code would trap the OOM and 'recover' with partially initialized data sitting on the heap. Hopefully it's a memory-safe language so that partially initialized data isn't RCE...

andrelaszlo 7 hours ago||
Just pulled the new matomo that was published on dockerhub 26 minutes ago, thinking it has the patched PHP version:

  # docker pull matomo:latest
  latest: Pulling from library/matomo
  Digest: sha256:6e63589d31ec653f78e029084d21488640fdbbd9a42c96c872098f42c8678a02
  Status: Image is up to date for matomo:latest
  docker.io/library/matomo:latest
  
  # docker run --rm matomo:latest php --version
  PHP 8.4.26 (cli) (built: Oct 21 2026 00:31:19) (NTS)
  Copyright (c) The PHP Group
  Built by https://github.com/docker-library/php
  Zend Engine v4.4.26, Copyright (c) Zend Technologies
      with Zend OPcache v8.4.26, Copyright (c), by Zend Technologies
The PHP build is from today, which is doubly misleading. 8.4.27 is the patched release, not 8.4.26. I wonder how many people will pull this image thinking they're good to go online again.
andix 5 hours ago||
The "official" PHP Docker images turned out to be a shit show tody. Seems like many maintainers fell for it and published updates that aren't really updates.

I'm currently waiting for a new docker image for another project, and their maintainer noticed the old PHP versions in the freshly built images and is still waiting or working on releasing a new container build.

xorcist 3 hours ago|||
There is nothing official about these images.

"Let's use this packaging some rando on the Internet built" is a strategy that is exactly as good as it seems, but that's the Docker ecosystem for you.

Packagers who actually understand the software put in good work to package that software in small and well maintained packages. Use them instead!

andix 3 hours ago||
Yeah, took me long enough to learn that. I just trusted the "official" badge.
lol768 4 hours ago|||
Fully agree. Moved to FrankenPHP's static build (which was ready very quickly) to get away from it. Don't intend to ever use the "official" images again.
andix 4 hours ago|||
I'm wondering if it's not just better to use plain Debian base images.

  FROM debian:... 
  RUN apt install php ...
This will take longer on a cold build cache, and pins the PHP version to the current Debian version. But Debian once again proved very reliable to patch in time.
reddalo 4 hours ago|||
Those images are not even official. "Official" is just a misnomer in Docker.
bityard 2 hours ago|||
I had to build and deploy my own Nextcloud images earlier today. :( Not a big deal because docker, just obnoxious that this got released into the wild and was being actively exploited before patches were available everywhere.
teekert 7 hours ago|||
Same goes for Wordpress indeed, which I'm waiting for.

    $ docker pull wordpress:fpm && docker image inspect wordpress:fpm --format '{{.Created}}' && docker run --rm wordpress:fpm php --version
    fpm: Pulling from library/wordpress
    Digest: sha256:c6d271a445510a3e08cfcc487750ac014f4464165ad6df6356da04680be8e907
    Status: Image is up to date for wordpress:fpm
    docker.io/library/wordpress:fpm
    2026-10-21T01:27:06.695704995Z
    PHP 8.3.35 (cli) (built: Oct 21 2026 00:33:17) (NTS)
    Copyright (c) The PHP Group
    Zend Engine v4.3.35, Copyright (c) Zend Technologies
      with Zend OPcache v8.3.35, Copyright (c), by Zend Technologies
I guess they were planning an update for today, for a moment the 8.2.35 threw me, but .35 is patched on 8.2, unpatched on 8.3 :)
trvz 7 hours ago||
If you need Docker to run PHP software you're beyond any help already.
teekert 7 hours ago|||
Yeah, I really enjoyed messing with php.ini back in the day! Setting it juuuust right for every different project on my dear pet.
fullstop 4 hours ago|||
I barely use PHP these days, but Docker seems like a great place to put it.
bartnp 6 hours ago||
If LLM's are going to keep finding vulnerabilities of this magnitude, we'll be sure to face a computer worm event of unprecedented scale soon. Best be ready for the moment the lights turn off
imzadi 8 hours ago||
FML. Can't get in to update our servers because of MFA and our director, who gets the codes, isn't in
bartread 8 hours ago||
Great example of performative enterprise security practice that contributes to degraded security posture, I suppose. Best of luck.
andix 8 hours ago||
What would happen if the director suddenly gets sick or decide not to come to work anymore? A lot of people assume that humans are reliable, they are not.
bartread 8 hours ago|||
Exactly: limiting access is fine, lack of contingencies is not.

Some systems and services still only allow for one owner though (I'm not going to name names), which can be a big problem when MFA is mandated. From what the poster I responded to said, I'd be very surprised if that were the case for them though - just slightly daft policy.

bombcar 7 hours ago||
This is where tooling like 1Password or Apple Keychain that lets you "share" MFA comes into play.
andix 7 hours ago||
It doesn't allow sharing SMS, email or proprietary app based MFA.
bombcar 5 hours ago||
Email is painfully easy to share. SMS may take some tricks (again, iMessage can be useful here).

Proprietary apps are a pita.

nolok 8 hours ago||||
One of my first boss called it the bus factor, not sure where the term comes from. What's the minimum number that need to get hit by a bus before it's impossible to keep things running. He used to say "you always have some bus factor, but it should never be one unless you're alone, otherwise you deserve whatever crap is going to rain on you someday".

I've found that to be incredibly true in my career.

bombcar 7 hours ago|||
If you're optimistic you call it the "vacation or lottery" factor - if Bob wins the lottery tonight, will our shit still work tomorrow?

And if the answer is no, well, then Bob just got Hotel California'd and can check out but can never leave.

Help Bob; help yourself.

epiecs 7 hours ago||||
We call it the HB3 (Hit By Bus Binder). Aka keep a document containing what to do if someone of your team gets hit by a bus.
connicpu 7 hours ago||||
My team rotates 1 sacrificial member every week to be on call with prod k8s access. It limits who can just push things to prod at any given time while making sure everyone on the team has experience. If someone is out sick or on vacation we do time trading, it works out for everyone.
botas 8 hours ago|||
Have lived this when a seeming healthy mid-30s man dropped dead. Nightmare.

Implemented a lot of “just in case” policies after that, which seemed obvious but oh well.

develoopest 7 hours ago|||
Use the exploit to gain access, then upgrade
jacquesm 8 hours ago|||
Let's hope he didn't go skydiving. Seriously, you need to improve your processes.
volkk 8 hours ago|||
where do you work? >:)
openclawuser 7 hours ago||
With AI agents, I've been using sites/services that are bot friendly and don't require MFA.

Not everything needs hyper security. Heck, I've given AI access to spend money on websites and my only restriction is that the websites limit the daily spend(website side... Although I guess a rogue AI could have changed it... )

k1kingy 8 hours ago||
Does anyone know how long it takes for the ondrej/php repo to be patched usually?
00deadbeef 8 hours ago||
I installed the updates 18 minutes ago, they're live.
gregoriol 8 hours ago||
Definitely not available yet, launchpad says last builds are from 2026-10-12
leoprctmp 8 hours ago|||
use packages.sury.org instead

follow https://packages.sury.org/php/README.txt

gregoriol 6 hours ago||
Sury's own website and launchpad description are really misleading as to what to use, thanks for pointing to it
00deadbeef 6 hours ago|||
They were because I installed them
longwave 8 hours ago|||
Ondrej has already said "deb.sury.org will carry packages as they are built".

https://codeberg.org/oerdnj/deb.sury.org/issues/145#issuecom...

dstu 7 hours ago||
You can see them building here, it looks like most should be ready within the next few minutes:

https://launchpad.net/~ondrej/+archive/ubuntu/php/+builds?bu...

dataflow 1 hour ago||
Is there a curl command I can use to test if the vulnerability is fully patched on a server (not merely mitigated) without causing any harm?

Note I want it to work with the backports too, not just the latest version.

dstu 8 hours ago||
So far Ubuntu LTS isn’t picking up the new packages for me via apt update, and Laravel Forge appears completely unresponsive as a result of being flooded by people trying to update their servers.
spurgu 1 minute ago||
I'm finally getting Ubuntu updates now (both on 22.04 and 26.04 that I've tested so far).
trollbridge 8 hours ago|||
And I'm maintaining a box on 18.04 over here, and lo and behold its Pro subscription isn't showing up as active, so I couldn't get the update even if they do release it.

Going to migrate the box to Debian in-place. (Or Gentoo, the way things are currently going.)

Neil44 8 hours ago|||
Same, I'm spamming the apt update and so far nothing on 22.04 or 24.04 lts

I realised that my linode and ovh vm's point at local mirrors not direct to ubuntu, I guess that's why the delay

mminer237 4 hours ago||
Yeah, Linode still hasn't updated their mirror. Vultr has though.

Edit: Linode just updated its mirror.

janmo 8 hours ago||
They had plenty of time to prepare for the release, what a shit show
Xyrren 8 hours ago||
https://ubuntu.com/security/CVE-2026-109618#status fixes have been back ported in Ubuntu LTS versions just now.
cpncrunch 7 hours ago||
Some have, but others are still showing "needs evaluation", and still no update for 20.04. I've just turned off php for now, as we only used it in a couple of places and won't be missed for a day or two.
cpncrunch 6 hours ago||
Patches have now landed for 20.04 and other earlier Ubuntu versions.
spenvo 8 hours ago||
how does Docker not yet have a new, official PHP image ready, given such a big heads up? https://hub.docker.com/_/php Nuts this wasn't ready to flip on at :00 (or even earlier given the PoC exploit and even the official PHP fixes were out well before). Now we are 27 minutes past due.
reddalo 8 hours ago||
Yes, it's embarrassing for Docker. Makes me wish I still had the classic LAMP stack.
geerlingguy 7 hours ago||
A PR was posted within a minute or two of PHP's source code update. Then within a minute of the PR's CI job completing, it was merged, and the build took a while but is now complete: https://github.com/docker-library/php/actions/runs/396158697...

It would not be easy (or reasonable) to take a public build like that private to build a 'secret' image version, and I'm not sure GitHub even has the capability to do that. I would not trust a build pushed to Docker Hub separate from the established / public / auditable process they have in place.

Nauxuron 7 hours ago|||
This is just the first step. See here for the full process: https://github.com/docker-library/faq#an-images-source-chang...

All dependent (official) images need to go through the same process, so that makes it fairly problematic, and I think Docker needs to take a look at it for the future.

geerlingguy 7 hours ago||
Ah, indeed... I thought the GA push was the final step but there's another manual process between that and updating the Docker Hub image tags: https://github.com/docker-library/official-images/pull/22541

It should definitely have a 'high impact' workflow that bypasses some of those manual steps.

glacier9147 7 hours ago|||
It would however be reasonable to expect a maintainer to be available to start the CI faster than 30 minutes after the PR was created.
berofeev 2 hours ago||
The maintainer isn't getting paid enough to react with that much speed.
KaiserPro 7 hours ago||
Docker have been carrying a broken python build for months.

they are wanting people to pay for the hardened version.

conradfr 5 hours ago|
Hard to deploy if you also install extensions from PECL right now (probably slammed).
smalu 5 hours ago||
same here.

`[00:06:03.209] pecl install -f amqp igbinary redis imagick` :sad_face:

conradfr 5 hours ago||
Yeah I got repeated error for igbinary (and then find out I didn't use redis in this project and could remove it).
eqmvii 5 hours ago|||
yeah, not surprising but not great
jdhawk 5 hours ago||
switch to PIE
conradfr 5 hours ago||
Is Pie (which I learned about it today) a painless migration from PECL?
TimWolla 2 hours ago||
My only experience is within Docker images, but yes. Replace the pecl call with the equivalent pie call and you are done.

Disclosure: I'm a PHP core team member and also contributed some code to PIE.

More comments...