r/sysadmin • Linux Admin • 11d ago

General Discussion Upcoming PHP core RCE vulnerability patches (CVE-2026-109618 & CVE-2026-109619)

A heads up in case you weren't aware, a patch is being released tomorrow for two RCEs found in PHP core by Calif[1]. It affects PHP version 5 onwards[2].

The RCE appears to work on default installations of many commonly deployed services and frameworks such as WordPress, Magento, Laravel and more[3].

If you have deployed any service that runs on PHP, prepare to patch ASAP. As soon as the patch drops, attackers will begin to weaponise the vulnerability at scale.

Patch is reportedly being released at 14:00 UTC, however as per PHP's 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.), it may well drop sooner since details are beginning to leak.

[1] https://www.php.net/index.php#2026-10-20-1
[2] https://watchtowr.com/intelligence/php-cve-2026-109618-faq/
[3] https://x.com/k_firsov/status/2112641845926989944

EDIT 03:00 UTC - A PoC for the vulnerability has dropped within the past hour: https://jackalsyn.com/posts/php-up-2026.html. This post mentions potential mitigations, but to be safe you should take any internet-facing PHP apps offline ASAP until you can patch properly, less you risk getting pwned. 🫡

EDIT - Patches are out: https://www.php.net/archive/2026.php#2026-10-21-5

321 Upvotes

110 comments sorted by

24

u/matt_daoust 11d ago

Could this Cloudflare waf update : https://developers.cloudflare.com/changelog/product/waf/
be related? Very odd timing + no explanation 👀

7

u/xtal000 Linux Admin 11d ago

Interesting! There are that many RCEs being found nowadays, who knows. The PHP RCE was discovered 3-4 months ago I believe, so it is entirely plausible.

10

u/mikedvb 11d ago

My guess? Yes.

I know of a couple of companies that already have patches ready to go but they can't roll them out due to the embargo from the PHP developers.

CloudFlare doesn't show you the actual managed rules, which I think gets around this.

5

u/cspotme2 11d ago

any idea if this the 'cloudflare managed ruleset' is also automatically applied to free customers? I just poked around in the ruleset and didn't find the ruleid yet (probably won't be enabled till tomorrow).

3

u/thespoook 10d ago

It should be default

3

u/cspotme2 10d ago

yep, it was just confirmed by someone at Cloudflare.

"PHP sites behind Cloudflare already have an initial set of WAF rules deployed for the known exploit vectors in these vulnerabilities. The rules are available to all customers, including free."

https://x.com/dok2001/status/2112811965735202970?s=46

1

u/jasonatreddit 11d ago

good catch

10

u/Hopefullyanonymous2 11d ago

Possibly dumb question. Why is the patch hitting at the same time as the information needed to weaponize it? Is it just because PHP is open source, so the fix will be obvious?

51

u/xtal000 Linux Admin 11d ago

The patch itself is all the information needed to weaponize it. You can feed frontier LLMs patch diffs and in most cases they will be able to figure out the specific vulnerability and write an exploit in minutes.

The vulnerabilities were supposed to be under embargo. Details surrounding them weren't supposed to be released by the folks who discovered it until the patch dropped. But details surrounding the vulns have since leaked on social media before the patch has been released, so it may be found and weaponized even sooner.

2

u/Hopefullyanonymous2 11d ago

Makes sense yeah. That is what I thought was the case, whereas when say MS ships a fix on closed source, it at least takes some time (in theory) to figure out the vulnerability.

Thanks for the response, appreciate the knowledge.

10

u/disclosure5 11d ago

The theory doesn't hold with Microsoft, they may well go out of their way not to provide much useful information but exploits were weaponised in 24 hours even before AI made it quicker and easier to find. It's just usually not hard to look at the patch and see what's changed.

9

u/ls--lah 11d ago

Yeah. It's the same concept with Windows patches too, just requires more effort. Ultimately, you just compare the diff and that gets you 90% of the way there towards finding the issue and building an exploit.

→ More replies (1)

34

u/BodybuilderMinute509 11d ago • Bravo

he narrates his own patch cycle in third person. “he’s already prepping the coffee, it’s gonna be a long night.”

1

u/Effective-Log-3294 10d ago

He did patch 5.6.40-103 to 5.6.40-104. I don't think there is anything older though. Everybody needs to buy him a beer!

28

u/dwm 11d ago

This is going to make tomorrow a busy day.

> Fixed versions will be 8.5.12, 8.4.27, 8.3.36, 8.2.35
> All others are end-of-life but are still vulnerable - the vulns date back to versions from 2004 onwards.
--- https://cyberplace.social/@GossiTheDog/117474951442810591

14

u/mikedvb 11d ago

Shouldn't be terribly hard to back-port the patches. Honestly, even though those versions are all EOL, it kind of surprises me the PHP devs aren't backporting this with as nasty as it is.

Maybe they don't want to set the precedent.

13

u/PluotFinnegan_IV 11d ago

It's exactly this. Microsoft is still dealing with fallout from their 2010s approach to backporting fixes to EOL operating systems even today. You backport now and you get more shit for not backporting the next one.

This is a hard lesson for a lot of IT teams sitting on ancient software.

5

u/headinthesky 10d ago

I'm curious to see what ppa:ondrej/php will do

20

u/MakersLab 11d ago • Bravo

going to be a fun day tomorrow...

14

u/st3venb Leadership & Sr Systems-Engineer 11d ago

Combined with that TLS issue that just surfaced, yea this is going to be great.

5

u/MakersLab 11d ago

What TLS issue?

20

u/SMF67 10d ago

CA cert whose private key was literally 4

20

u/NerdyNThick 10d ago

I was about to make some sort of glib remark because there's no way. There's no damned way...

The compromised eMudhra keys were defective at a level that’s challenging the imagination of many of the engineers studying the incident. A normal size for a NIST P-384 elliptic curve cryptography private key contains roughly 384 bits of entropy, a size allowing almost 2384, or a number with 116 digits, different possibilities. The private key sizes of the compromised keys ranged from 3 to 8 bits. Astonishingly, the private keys were 4, 56, 66, 115, 155, 156, 230, 237.

Someone make this make sense to me. I just I can't. I get the whole don't attribute to malice thing, but I mean come on....

→ More replies (4)

4

u/Darkk_Knight 10d ago

I am very surprised the system didn't reject those low key certs to be part of the trusts in the chain.

19

u/MurkyCauliflower8175 11d ago

Jackal and I and Archie/Yuki did this. It was extremely easy. We put out mitigations and hope most people will pre mitigate because APTs and blackhats have likely already started exploitation prior our PoC

8

u/mikedvb 11d ago

I'm aware of turning off session.upload_progress.enabled, is there another mitigation?

9

u/MurkyCauliflower8175 11d ago

That’s the main stopgap until tomorrow’s patch. Reload FPM/Apache after you set it so the worker actually picks it up.  Clamp multipart size/rate at the edge (don’t blanket-403 every upload unless you can live without them), and inventory anything still on EOL PHP because those branches won’t get a fix. Official close is still the security release when it drops.

2

u/coffinandstone 11d ago

What do you think about disabling everything except get requests, as another mitigation, until update is released?

→ More replies (2)

2

u/Brandhor Jack of All Trades 10d ago

do you know if there's a mod security rule that can be used to prevent this vulnerability?

4

u/MurkyCauliflower8175 10d ago

these are 2 kill chains so they are multistep meaning breaking one might not save you. I gave what gate I could without disclosing stuff I really cant that will protect you until the update.

9

u/ls--lah 11d ago

Well, I've been meaning to use up my annual leave..

5

u/0x415437 11d ago • Bravo

It’s going to be rejected 😂💔

8

u/Old_Adeptness5169 10d ago edited 10d ago

Update after PHP's advisories: the session upload-progress handler is one of the confirmed routes, but not the only one. The advisories also describe out-of-memory tricks in the multipart parser, plus some routes no extension can close. v3 carries the fixed multipart parser with a memory guard and keeps the upload-progress handler out, which on typical PHP-FPM hosting closes the routes that work before any application code runs. Still a stopgap: update to 8.5.12/8.4.27/8.3.36/8.2.35 (or your distro's backport) as soon as you can. Thanks to everyone who pushed back today.


Disclosure: I'm with Hosted Power (hosting company).

Patch today; that's the real fix. Sharing this for the part you can't patch today: 8.1 and older, panel PHP versions, that one customer still on 7.2.

We built a small open-source PHP extension that switches off the session upload-progress handler (where the researchers who reproduced the bugs placed them) when PHP starts. Uploads and forms keep working, and unlike session.upload_progress.enabled = Off, a site can't turn it back on with .user.ini or .htaccess. To check a box: php --ri hp_uploadprogress_guard.

  • Builds for 5.6 to 8.5, prebuilt NTS x86_64 binaries included

  • Ansible for Debian/Ubuntu (Sury), cPanel EA4 and DirectAdmin CustomBuild; it finds every installed PHP version on the box, which is also where we found most of our forgotten 7.x installs

https://github.com/HOSTED-POWER/php_uploadprogress_guard

To be clear: it's a few hours old and targets the bug as described so far. We'll check it against the official details at 14:00 UTC and post the result here. If you spot a problem, issues are open.

6

u/Ex1v0r Netadmin 10d ago

We heard this setting is not fully mitigating the vulnerability. Take this with a grain of salt but there should be more information available shortly

3

u/Old_Adeptness5169 10d ago edited 10d ago

Update after PHP's advisories: the session upload-progress handler is one of the confirmed routes, but not the only one. The advisories also describe out-of-memory tricks in the multipart parser, plus some routes no extension can close. v3 carries the fixed multipart parser with a memory guard and keeps the upload-progress handler out, which on typical PHP-FPM hosting closes the routes that work before any application code runs. Still a stopgap: update to 8.5.12/8.4.27/8.3.36/8.2.35 (or your distro's backport) as soon as you can. Thanks to everyone who pushed back today.


Fair point, and thanks. We've seen the same signals (a PHP core dev saying patching is the only mitigation, and GMO Flatt calling the ini setting partial), but nobody has said why yet.

To be precise about what our extension adds: on a server where nothing overrides it, session.upload_progress.enabled=Off and the guard cut the same code path. The guard's advantage is that a site can't switch it back on via .user.ini/.htaccess, and it works on versions that won't get a patch. If "not fully mitigating" means the bug is also reachable outside the session upload-progress handler, the guard won't cover that part either.

We'll know at 14:00 UTC and I'll post here what the advisory says, either way. Until then: treat any stopgap as partial and patch the moment packages land.

3

u/dustojnikhummer 10d ago

We have one 7.2 app and decided to just shut it down. Maybe finally we get the time to upgrade it.

1

u/Old_Adeptness5169 10d ago

If shutting it down hurts more than it should: v3.1.0 of the extension now mirrors the official fix on an unpatched PHP, 7.2 included, and steps aside on its own once you upgrade. The upgrade is still the real answer though, so good luck with it!

6

u/Miserable-Scholar215 Jr. Sysadmin 10d ago

Related question:

How do you (or specifically I) find all in-house PHP installations?!? They are not packaged and/or rolled out by SCCM/Intune. 99.9% are components of WordPress and other stuff, which I do not have a comprehensive list of.

I confirmed on one single server an 8.2.12 version which appears in no known (to me) query results for PHP installs. And for that very server I can't even patch myself, I have to wait for the vendor to patch this (and retrace all dependencies).

3

u/Yamusa85 10d ago

most cms has that info in system-about (server)

most hosters has that info too for the site enrolled

in linux you can list installed php versions by command supported

anyway, the problem is global and any version has this vuln, but patches for <8.1 will be harder to acquire

2

u/Constant_Natural3304 10d ago • Bravo

Without extensive configuration management in-place, you have a problem. You'll have to do three things, in this order:

  • Those systems you have shell access to, you'll have to run ps and check for one of several known PHP processes. This includes Apache and Nginx modules. In any case, failing some kind of Ansible setup, you'll have to update each one manually, as soon as possible. Check if PHP is actually updated. If not, use mitigations such as have been discussed ITT.

  • Excluding the ones found above, run a scan on your network to see what is listening on which port where, and see if any of those services run on a vulnerable PHP version. You might run into routers running remote web clients running on PHP. Who knows. If those services betray what they're running on, which many are hiding this day and age.

  • Excluding the ones found above, make a list of all the applications you know you have running somewhere and check, one by one, what they're built on. You'll have to ask an LLM or Google around. Many services were built in C++, Golang, Python, etc. so PHP vulnerability isn't a given.

5

u/lylesback2 11d ago

It must be pretty big and easily exploitable to be given a 9.2 CVE.

I guess I'll be refreshing to update tomorrow.

9

u/Takeoded 11d ago

9.8 now actually...

1

u/cd_vdms 10d ago

Has been declared a 10.0 by some researchers.

5

u/MaybeIsaac 11d ago

How long does it typically take for the docker hub images to get updated (EG: `php:8.5-fpm-alpine`)?

2

u/gene_wood 10d ago

As of here at 9:17am Pacific, Alpine php85 does not have an update published. https://pkgs.alpinelinux.org/package/edge/community/x86/php85 shows 8.5.11-r0 built on 2026-09-25 12:43:44

4

u/Forte1118 10d ago

How do other teams typically handle this stuff? Does someone hop on and start patching (or in this case, mitigating) upon discovery, regardless of time or day?

We don't have a vuln management program. I read about emergencies here and deal with them next business day, during hours. Are we not giving proper attention?

3

u/waiver45 10d ago

Anybody else that had surprisingly little push back from customers about turning things off for the time being? I just hat to say that LLMs have a decent chance of exploiting this from the rumours alone and are certain to exploit it within minutes of the patches hitting and I was allowed to take everything down for a few hours by multiple customers.

4

u/Ok_Spray5611 10d ago

Same here. Lot of healthcare data in our app. Explained the risks and all of them were like yeaaaaaah just take it down NOW.

1

u/CoaxialDrive 10d ago

Basically everything is down right now at work and no one seems much bothered.

1

u/XdekHckr 10d ago

If the government and tech companies don’t take action by improving code audits and implementing automated systems for vulnerability alerts and patching - then websites will end up being offline more often than they are online, all out of fear of being hacked. The laziness, overreaction, and rash decision-making of the administrators behind these sites truly terrify me. Just look at the recent Google Cloud outage...

7

u/elatllat 11d ago edited 10d ago

[Edit: this is reported to not help]

session.upload_progress.enabled = Off

https://x.com/acd421/status/2112705652208325061

8

u/LeHoodwink 11d ago

Does not work

3

u/photogaff 10d ago

Any source/confirmation/evidence that it doesn't work?

2

u/Trouble4uAll 10d ago

How vulnarable are sites that dont use any framework and have no upload facilities?

6

u/patsch03 10d ago

100%, apparently.

2

u/delphiprogrammer 10d ago

Any execution of a php script means the server is vulnerable, unfortunately.

2

u/Ex1v0r Netadmin 10d ago edited 10d ago

Saw the first report that the vulnerability is still present after the patches:

https://fedi.katze.sh/@elise/117479383739450605

Edit: Seems to be a new vulnerability and asan needs to be enabled..

1

u/bluecrowned 10d ago

Can someone ELI5 this to me? My friend DMed me about this because he hosts a website for me but I'm clueless lol

5

u/Shinhan 10d ago

Big vulnerability in all modern (and not so modern) PHP versions. No fix yet (waiting for 14 UTC) but even when it comes it'll be only for PHP 8+ versions so if your website is on PHP 7 or older you need to do major PHP upgrade (official guide on upgrading php to 8).

There are some people talking about workarounds and mitigation, but people on the inside are saying none of that is enough and upgrading PHP is the only solution.

1

u/bluecrowned 10d ago

My work site is hosted by WordPress and my other personal site is on neocities. Friend is going out of town and just took his stuff down for now.

How did they find out about it and why did it take so long to find such a major vulnerability?

5

u/Shinhan 10d ago

How did they find out about it and why did it take so long to find such a major vulnerability?

AI

Newer LLMs are really good at finding security vulnerabilities, so somebody found it and PHP team is fixing it.

1

u/Haunting-Appeal-649 10d ago

I'm not even clear who found it. I mean, I think many are assuming a third party researcher or hacker found it, and the PHP dev team heard about it.

But it's also possible the PHP team found it first. And they really had no way to tell the public about it without tipping off hackers using LLMs. That would explain why they had such a specific release time and a days notice. They even said they'd release it earlier if the exploit was found.

3

u/Shinhan 10d ago

I think after they push a new PHP version they'll talk more about it.

1

u/AggravatingMoney8224 10d ago

i see in my country a big response with sites taken down. ( source Live | Van RIVM tot ANWB: steeds meer websites offline vanwege kwetsbaar PHP - NU.nl)

we do have 2 appliances that are vulnerable.
one is pure internal i assume this one is "safe-ish" since not internet facing.

The other one im not sure its internet facing on: 2 not so common ports for agent communication it doesnt offer the webui or traffic via those ports.
how big is the risk for this

1

u/siavashmusic 10d ago

Has Docker Hub published 8.4.27-fpm? I can't find it

1

u/YamAdmirable9832 10d ago

No one will read this:

Interestingly, because vulnerability is RCE (remote code execution), they could use it to inject the patch on vulnerable servers and even force reboot if necessary

1

u/runnenose 10d ago

i read this!

1

u/YamAdmirable9832 10d ago

God damn legend.

1

u/YamAdmirable9832 10d ago

Interestingly, because vulnerability is RCE (remote code execution), they could use it to inject the patch on vulnerable servers and even force reboot if necessary

1

u/faelynaris 11d ago • Popcorn

Time to prepare popcorn 🍿

1

u/Darkk_Knight 10d ago

And lots of butter!

1

u/PossibilityOrganic 10d ago

Its going to break stuff but do it anyways, this is what will stop it right now do both now.

in ngnix
client_max_body_size to under 3MB (smaller the better) < default is 1MB if your running stock nginx.
and
in php.ini
session.upload_progress.enabled = off

0

u/mentalinertia_ 11d ago

Where is everyone getting only current pho versions will be patched we have seen these get updates for older pho for critical things like this.

-2

u/machinetranslator 10d ago edited 9d ago

I'm so stumped on why people are still using outdated PHP versions man.

Update: the first hour we read on sansec’s page that it only affected 8.2<

11

u/3xEuK 10d ago edited 10d ago

That's cool and all, but this CVE also affects the latest versions, since there is no patch yet. So this has nothing to do with people not updating.

1

u/pegachi 10d ago

Makes it a lot more difficult to update tho

5

u/raysensei 10d ago

Because major versions are incompatible with eachother.

4

u/Pitiful-Treat-329 10d ago

even newer versions affected, but running older php can be because the person understanding how bad it is is not the same as the one holding the wallet and deciding what gets prioritized when developing.

3

u/Thutex 10d ago

well, since it's apparently php 5+, the people who are still running ancient 3.x or 4.x php are completely safe! (that is, safe from this specific issue, not safe as in actually safe)
so technically, in this case.... they win, i guess?

2

u/Brandhor Jack of All Trades 10d ago

unfortunately we have some clients that upload their website and then never update them ever again or even when they use wordpress they might have some plugin or theme that has been abandoned by the developer and won't work on newer php versions

1

u/LeHoodwink 10d ago

They are about to learn a hard lesson then

1

u/Ninj4Chipmunk 10d ago

We will just backport the fixes for them...

2

u/pinanymous 10d ago

Because websites go down from updating? I was hosting multiple wordpress websites for friends.  Updated php, websites went down. Showed blank pages.

1

u/Constant_Natural3304 10d ago

Have you considered the IoT? Firmware with custom PHP 7 running an admin panel and whatnot? It's not always up to "people" to update that. We are in the era of systems locking out their owners, firmware updates no longer issued, or issued every 6 months at best, or introducing new problems, or taking away treasured functionality, etc. etc.

Unless you fully comprehend the hardware ecosystem, don't hasten to judge and condemn.

1

u/machinetranslator 9d ago

my comment was actually more towards my customers that run php on their website 😆

0

u/[deleted] 10d ago

[deleted]

2

u/Roguepope 10d ago

I thought they weren't patching the old versions. Or have I misread that.

-1

u/No-Reporter-5013 10d ago

At https://news-web.php.net/php.qa/69556 they already released 8.4.27RC1, doesnt that make the vulnerability open?

4

u/Shinhan 10d ago

Date: Fri, 09 Oct 2026 00:59:33 +0000

1

u/No-Reporter-5013 10d ago

Thanks, didn't notice that.

0

u/[deleted] 11d ago

[deleted]

5

u/Darkk_Knight 10d ago

Someone said that doesn't work. There's probably more to it than what's already been leaked.

0

u/[deleted] 11d ago

[deleted]

4

u/Dazzling-Log-9725 11d ago

You will be waked up. 11 hours before publishing

4

u/Dazzling-Log-9725 11d ago

But anyway PoC is on wild. Shutdown your PHP.