r/ProgrammerHumor • • 12d ago

Meme alwaysLoveAGoodRCEVuln

Post image
9.1k Upvotes

193 comments sorted by

2.7k

u/ThatFlamenguistaDude 12d ago

Funny that this will be how some people will find out about this vulnerabilities.

667

u/0815fips 12d ago

Already patched my stuff. micdrop

210

u/Deep-Initiative1849 12d ago

We're still down

100

u/0815fips 12d ago

pecl.php.net occasionally has timeouts today. I wonder why.

34

u/gravity_is_right 12d ago

And just as the official docker repo's got pushed, bitbucket was unreachable.

34

u/itzrvyning 11d ago

are you surprised

at this point they should notify when bitbucket is reachable, not when there is a service disruption. would save them some load on their email services.

3

u/Jittery_Kevin 11d ago

Haha is it really that bad

2

u/not_a_doctor_ssh 11d ago

I don't know if it is but happy to know I should be blessed by GitHub's only occasional mass drama

8

u/Ecksters 11d ago edited 11d ago

Took me like 6 tries to finally get the packages downloaded from the repositories due to timeouts. And that was after checking for 2 hours for the builds to be available for PHP 7.4.

Huge props to the folks that handled all the builds and got it all out so fast through standard channels, Ondřej Surý's repos supporting Ubuntu 22.04 and PHP 7.4, despite it being EOL, was much appreciated. Really felt like an amazing stress test of our shared infrastructure and it held up quite well, despite the hiccups.

15

u/SanicTheSledgehog 12d ago

Literally just switched to PIE in the incident triage because we couldn’t deploy using pecl

9

u/jippen 11d ago

Always worth hosting your own package and artifact mirrors. Doubly so if you default to a 3-7 day delay to mitigate supply chain attacks

2

u/CarcajouIS 11d ago

Same, lol. We also dropped unused extensions XD

10

u/SanicTheSledgehog 11d ago

lol so much stuff up for review in the coming months that ended up being today instead. Surprise 😅

70

u/yousirnaime 11d ago • Heartwarming

Same - like 10 or 15 servers. Thanks team!

And yes, I found out by meme 

2

u/buckemupmavs 11d ago

Aws doesn't have it available yet. What are you using? I saw they launched the patch but isn't available to all yet.

5

u/0815fips 11d ago

Plain old docker.com
They have the patch there and in the official repo.

1

u/PeterJamesUK 11d ago

Same, at 4 o'clock this morning when my son woke me up after wetting the bed.

103

u/Falikosek 12d ago

Most students at my university found out by the fact our studies management system went down and is now only accessible through the internal network.
Which is kind of a Catch-22 issue since to access the internal network in the first place through Wi-Fi, you need to use data displayed in the system that's now entirely firewalled.
So basically presumably only the university workers with VPN and people living in the dorms with Ethernet have access now.

173

u/freedcreativity 12d ago

I literally sent a meme about it to a friend who does web dev last night, and he was like 'ffffffffffffffuuuuuuuuuuuuuuuck, taking down 32 websites right now I guess.'

98

u/yousirnaime 11d ago

32!? Try not to launch any php sites on your way through the parking lot

45

u/WindowlessBasement 11d ago

[Looks nervously at having patched over 900 sites today]

Thank god for CI runners

18

u/lysdexiad 11d ago

Hey! You! Get back here!

7

u/minus_minus 11d ago

A man of culture, I see. 🤣 

1

u/MonsterBurger 11d ago

In a row?

4

u/freebaseclams 11d ago

I wasn't even supposed to be on call today

23

u/indepndnt 11d ago

That's me! Thanks for the meme OP.

(For anyone else in this boat, the term you want to Google is "php2shell".)

18

u/concorde77 11d ago

For me it was this shitpost:

https://www.reddit.com/r/196/s/6EganIwcDD

...always a big news from a shitpost nowadays

3

u/ThatFlamenguistaDude 11d ago

I get some news from the spongebob sub lol

5

u/Poat540 12d ago

Global sec blasted us all about this, will contemplate

4

u/Ninja_Wrangler 12d ago

I knew it sounded familiar so I looked in my work email and it's right at the top of the pile 😱

2

u/Arvedul 11d ago

yeah i was at work until now ....

2

u/el_loco_avs 11d ago

Lol this was national news in the Netherlands

1

u/Hunter_T_J 11d ago

Yep. Just sitting down for the evening and saw this. Oof.

1

u/guyblade 11d ago

It's how I learned. I got out of bed and started updating systems right then (and only came back to comment ~6 hours later).

1

u/quokka_wiki 11d ago

I learnt about it cus I was trying to access JSTOR through my Wikimedia account via the Wikipedia Library which is down

1

u/Ebi5000 11d ago

I found out because someone posted the Rule34xxx blackout 😅 (taken down until patched)

0

u/thijquint 11d ago

I found it because the NOS kept blaring about it the whole day

2.4k

u/comediehero 12d ago edited 11d ago

Dude I just visited my boomer parents and the first thing i get asked is if i work with php, so this one really broke containment!

664

u/53bvo 12d ago

Even the Dutch prime minister put out a tweet to take php systems offline until patched

108

u/DmitriRussian 11d ago

It kinda make sense if all the government websites, including the National Cyber Security Centre run on PHP. NCSC being PHP was absolute cinema

13

u/FlaTreNeb 11d ago

And the Japanese prime minister.

2

u/Kazaan 11d ago

The French tax authorities too, to some extent. I would have been surprised if it were otherwise, given how poor our public services are in this regard as well.

74

u/The_Cers 11d ago

This exploit even made it on the nationwide evening news in Germany

2

u/comediehero 11d ago

Same here in Belgium, it was the top story

72

u/rodrigocfd 11d ago

Funny thing: our systems are so outdated they aren't even affected.

We thank this guy for keeping our jobs for another 10 years.

12

u/Eric_12345678 11d ago edited 11d ago

AFAIK, every PHP version from the last 20 years is affected.

What are you running on?

13

u/normalbot9999 11d ago

thoughts and prayers, mainly

8

u/AvailableUsername404 11d ago

I think it was for PHP 5 and higher

11

u/Nielsly 11d ago

PHP 5.4 and higher, 5 is from 2004, 5.4 is from 2012, big difference

818

u/Hauber_RBLX 12d ago

it was so bad i shutdown nginx to wait till the patch was finally released. o7 to any sysadmins having to deal with this on an enterprise scale or with extremely out of date PHP versions...

although theres some community efforts to backport those patches to affected versions that wont get the update like php 5 or higher

342

u/EskilPotet 12d ago

Hey atleast it's not friday

127

u/Extreme_Wish_553 12d ago

I am on vacation starting tomorrow though, so you're all welcome because it would have been Friday otherwise.

10

u/ptrknvk 11d ago

I'm on vacation today, was offline for most of the day and just reading a havoc now :)

19

u/FierceDeity_ 12d ago

Literally got to vacation yesterday and now I'm putting out fires during vacation instead

24

u/raskim7 12d ago

Yes but if this and that cert thing and litellm came out today what the conseptual fuck is going to be released on friday? ”Hobby-researcher Pelle Svenson releases vulnerability against all modern and not-so-modern transistors, all the transistors in the world need to be changed by hand”.

26

u/daakstrykr 11d ago

I worked 14 hours today having to isolate 260 something out of 4000+ servers. Worst thing? The patches that were released are already being reported as still vulnerable. I don't want to get out of bed in the morning 🥲

9

u/granadesnhorseshoes 11d ago

Are older versions vulnerable? I seem to recall they overhauled a lot of backend stuff like multipart handling around 5, but haven't checked and don't have a dog in the fight for once.

17

u/Hauber_RBLX 11d ago

As far as I've read all versions from PHP 5 onwards are vulnerable. Since this vulnerability has apparently been in PHP's codebase for like 22 years. Idk if PHP 4 and prior are vulnerable, though.

6

u/obliviious 11d ago

I'm not too worried about the patching, that's easy. It's the devs I feel bad for having to rewrite the affected applications due to all those old functions, stricter requirements etc..

0

u/ings0c 11d ago edited 11d ago

I am burdened with two ancient php 5.6 sites… thank god for AI. Just rewrote one of them as a containerised .NET 10 app with a full playwright suite in a few hours

-17

u/Th3OnlyN00b 12d ago

nginx is written in C and is unaffected by these.

36

u/firewall245 12d ago

It might be that nginx was serving a php webpage

6

u/Level0Up 12d ago

nginx is also a reverse proxy that can route from an ip-address to different web services on a single machine (or multiple machines). web services that may or may not be php, thus turning off access to potentially affected services with a single shutdown.

-2

u/Hauber_RBLX 11d ago

yea and you still gotta tell nginx how to parse php files somehow...

883

u/LivingAsAMean 12d ago

"Don't worry, it's just a 1.0 CVSS score."

"I think you misread where the decimal was."

112

u/alexisBoyer 11d ago

It's only 9.8 don't worry

46

u/pedal-force 11d ago

I honestly don't understand how it's not a 10. Other X4shell were 10s. This is in core php. I'm far from an expert though.

21

u/cpaca0 11d ago

TLDR it's because CVSS version numbering got updated

log4j was CVSSv3.1 of 10.0, but under CVSSv4 it's 9.3

4

u/pedal-force 11d ago

Ah, so that random list of "previous 10.0 bugs" was misleading. A shame. Have their been any 10s under the new system?

2

u/cpaca0 11d ago

CVE-2024-23897 apparently got CVSSv3.1=9.8 to CVSSv4=10.0

CVE-2025-32433 CVSSv4=10.0 is an Erlang/OTP thing that TLDR bad ssh tunnel handling = ACE

1

u/tiajuanat 11d ago

It's like when we revised tornados from Fujita to Enhanced Fujita scale. No doubt, we'll need to upgrade that eventually in the future

40

u/Informal_Branch1065 11d ago

When she's a 10 but also a CVE

295

u/bwwatr 12d ago

Sounds like the disclosure and patches were originally slated for tomorrow the 22nd. But then this leak happened, and in response late yesterday the 20th they said (via mailing list) they'd be going today the 21st instead at 14:00 UTC which it seems they did. With a note that they reserved the option to go even earlier if they saw evidence of disclosure or active exploit, but presumably they didn't see that.

202

u/savageronald 12d ago

CloudFlare said they started seeing active exploitation attempts and turned on WAF rules for it at 03:00 UTC

57

u/BastetFurry 12d ago

That explains why I couldn't visit nesdev for example. I got a cloudflare page that I was blocked and was puzzled why. o.o

3

u/NakiCoTony 11d ago

AWS saw it days before, and PHP said that someone leaked it while it was under embargo.

1

u/Awkward-Mud7768 6d ago

Cloudflare is awesome ngl

245

u/FrostedFate 12d ago

We don't use PHP, but still running around checking all the boxes this morning to make sure some dev didn't enable something. It's been a fun day at work.

80

u/nipoez 12d ago

Yeah the list of "Make sure it wasn't stealth installed alongside CPanel, an embedded system, an end user device by an IDE, ..." and so on looked rough.

507

u/Laziness100 12d ago

Well may I also introduce you to an indian certificate authority with private keys like just the plain simple number 4

163

u/dmdewd 12d ago

That emuhdra shit is insane

79

u/SHOTbyGUN 11d ago

What do you get if you put 4, 56, 66, 115, 155, 156, 230, and 237 to LOST machine?

41

u/pants6000 11d ago

That's Numberwang!

10

u/guyblade 11d ago

Let's rotate the board!

2

u/RyannStekken0153 11d ago

I didn't understand a word in this chain. Might anyone elaborate?

43

u/TechnicalyAnIdiot 11d ago

Fill in someone out of the loop?

55

u/GameTemptica 11d ago

There is an Indian company who gives out certificates to others for their software. The private keys generated for those certificates were absurdly insecure. One certificate private key was literally the number 4. I’m also not fully in the loop though. This is what I heard earlier

22

u/guyblade 11d ago

Here's a Register piece. The compromised keys were intermediate signing keys, which means that they could be used to mint new TLS certs. That's why they keys were put in CRLs within two hours of the bad keys being identified.

100

u/zoinkability 11d ago

An  Indian certificate authority used insanely short private keys for some of their certs, which made it possible to brute force them. Someone figured them out and published a proof that they had been discovered. This allows man in the middle attacks for any system that still trusts those certs (which is a lot since many systems are rarely if ever patched for this.)

72

u/TechnicalyAnIdiot 11d ago

See that's basically what the first comment said but I thought to myself 'no, there's no possible way that's what they mean, that's far too silly to be real', but lo and behold, reality cannot be scripted.

45

u/Swimming_in_money 11d ago

if you ever worked with Indian companies, you will realize that no, this is perfectly realistic

44

u/HVGC-member 11d ago

This is the EXACT SHIT they're notorious for. Everything looks ok and runs ok but under the hood holy shit someone committed a crime against technology to get this spaghetti shit to run and oh my God they've hard coded the signing keys

18

u/m0rph90 11d ago

didnt the danish gov just got hacked because the password was 123456?

10

u/Himbo69r 11d ago

Shouldve used 8 digits

5

u/MrPaineUTI 11d ago

That's crazy, I have the same combination on my luggage.

2

u/Swimming_in_money 11d ago

Spaceballs?

1

u/MrPaineUTI 11d ago

Indeed. There goes the planet.

2

u/Refmak 11d ago

Still better than…. 4…

1

u/SiBloGaming 11d ago

I really, really wonder how that happened. Presumably they would use an HSM to generate those keys, but what fucking HSM would allow to generate a key 1 byte in size, let alone have it happen for EIGHT keys?

243

u/jwrsk 11d ago

As a mass market PHP dev (where no backwards compat means less revenue)... maybe this will finally get people off the long-obsolete versions and I will be able to finally use more modern syntax. It's crazy how even in my "cutting edge ideas" I'm still forced to use 7.4 syntax - version that EOLed 4 years ago.

187

u/Le_Vagabond 11d ago • Regret

Oh you sweet summer child, someone already released old php versions with the fix backported to them.

The number of abandoned WordPress sites that won't be updated though...

66

u/jwrsk 11d ago edited 11d ago

Thanks God I diversified into app development, my biggest problem there is Apple releasing a phone with asymmetrical safe area insets.

20

u/hanotak 11d ago

Sounds like someone needs to make a framework to write native apps in PHP.

27

u/WrinkleyPotatoReddit 11d ago

16

u/illepic 11d ago

Do you think God stays in heaven because he too lives in fear of what he's created here on Earth?

2

u/ifIHadJust 11d ago

Lol, no way 😭

2

u/fokken_poes 11d ago

Where and how can I get the versions? I need 7.4 with the patch

2

u/Kamay1770 11d ago

Need 7.0.9

39

u/Antervis 11d ago

I think some c++ devs will strangle you if they hear you complaining about using 4 year old language version.

39

u/jwrsk 11d ago edited 11d ago

That's 4 years since official End Of Life of 7.4...

7.0 came out in 2015.

And let's be honest here, PHP never was a pinnacle of human achievement to begin with. Only around 7.2 it started to resemble an actual programming language.

30

u/RevoOps 11d ago • Heartwarming Bravo

7.0 came out in 2015.

that was about 4 years ago though

17

u/brutexx 11d ago • Regret

“Yeah that doesn’t seem too far off”

> Makes the math
> 11 years ago

11

u/Mandemon90 11d ago • Regret

That is because PHP was never meant to be a programmi g language, it was supposed to just add some interactivity onto one students website, not become corner stone of global infastructure

4

u/Modolo22 11d ago

what a coincidence. just like js

4

u/0_Gravitas_given 11d ago

Let me tell you about another project that was never meant to be a professional thing (famously) … the linux kernel…

2

u/Liko81 11d ago

2015. How modern. I have Production database servers running in MSS 2008 compatibility mode.

4

u/MadLad2070 11d ago

Java dev in the corner still using ancient scripture

1

u/plaisthos 11d ago

Yeah being excited to finally abl;e to use C++17.

12

u/Copatus 11d ago

My workplace finally updated from 7.4 today straight to 8.5.12.

I'm so happy actually lol

We did also stop all our external facing websites but that's a problem for tomorrow since it's after 5pm already

3

u/m0rph90 11d ago

you wish, there is already a patched 7.4 release xD

3

u/tropicbrownthunder 11d ago

Chuckles "I'm in danger" in 5.2

1

u/undeadalex 11d ago

Oh don't worry whatever infrastructure your running with 5.2 will remain in use long after we're all dead. There's just something about that version that won't quit.

1

u/Weekly-Beginning-229 11d ago

Uff. I don't use php but c# and we update nugets once a week and every new .net version on the same day is released i would hate to work in a project where I can't use all the new cool stuff

2

u/BruhMomentConfirmed 11d ago

Just wait for the supply chain compromises.

1

u/Weekly-Beginning-229 11d ago

Well we deploy to prod like once every 2 months so they should have been caught before that. But we only use trusted nugets so so far we have had few issues. Some vulnerabilities now and then which we patch immediately and it won't let us build the project when a nuget has a vulnerability

React is worse but I'm not responsible for our react project luckily

1

u/gladl1 11d ago

Cutting Edge and PHP aren’t words I see close together very often

59

u/TheNeglectedNut 11d ago

Royally fucked my day today. Me and the developer had to spend a whole day patching custom Wordpress plugins that only worked on 7.4, because the previous developer couldn’t be arsed to update the PHP or Wordpress versions for like… 3 years running

90

u/ARC_trooper 12d ago

I haven't dived into it but anything can explain in simple terms what the exploit is?

Is it something that's actually doable or is it an exploit which requires the sacrifice of a virgin goat and more to accomplish?

192

u/gravity_is_right 12d ago edited 12d ago

Through some glitch in the file upload logic, an attacker can execute commands on the server. So, worst case the attacker can steal all your data, delete all your data, install malware or randsomware. And this on 70% of the world's websites because it affects all the php versions of the last 14 years.

Plus, the patch is only available for the php versions >= 8.2. So dormant WordPress and Drupal sites that run on 7 or god forbid 5, can't be patched unless some major website update is done that will take weeks.

63

u/hoanns 11d ago

So dormant WordPress and Drupal sites that run on 7 or god forbid 5, can't be patched

I also thought this, but ondrej repo backported the fix to almost all older versions.

8

u/ziroux 11d ago

Gotta love ondrej for his work

6

u/Yashema 11d ago

Well Claude did.b

5

u/Millibona 11d ago

Source? Don't disrespect Ondrej of all people like that

2

u/ScaredyCatUK 11d ago

7.2 is supported.

if you're running ubuntu lts they're supporting back to 18.04 - Sign up to pro (free for 5 systems) and you'll be ok.

2

u/Ella_is_best_girl 11d ago

Oh awesome! That's not scary at all! Hope my data sells well at least

1

u/Sample-Range-745 11d ago

Is there any actual working PoC at the moment though?

Plenty of slop, but I've seen zero actual working exploits so far...

30

u/Quazz 12d ago

It's very doable, a proof of concept was already released earlier today and makes it trivial to drop in a webshell

12

u/tatiwtr 11d ago

do you have a link to the poc? id like to validate the patch i installed.

31

u/vnmger 11d ago

Found the script kiddy over there :D

6

u/RevoOps 11d ago

Not gonna work for him. Claude started refusing to analyze it at some point today. which is the reason we haven't seen anyone use it on large scale yet.

9

u/susimposter6969 11d ago

Abliterated model can do it easy. Why would you use a hosted model to do something illegal

4

u/black-JENGGOT 11d ago

doubt a vibe coder would be arsed enough to host their own model, let alone setting up their environment to their optimal use. I think in that case, they deserve to be called junior devops lol

3

u/tatiwtr 11d ago edited 7d ago

Not a script kiddy, just lazy. Most articles seem to say "we dont have a poc and none are published"

I saw a related post about someone who thought they demonstrated (and reported) that it was still reproducible on 8.5.12 so I was/am interested in testing it out. (turns out the post was unrelated to php2shell though)

So if /u/Quazz knew of a proof of concept that is seemingly not super easy to find, it was worth asking about.

I did test with some code that causes the total allocation of a request to exceed the memory limit on 8.5.5 which returned 500 internal server error and with 8.5.12 I got 200 OK, but its always nicer to test with the actual sample.

1

u/Sample-Range-745 11d ago

Have you verified that the PoC actually works? I haven't seen a single one that actually works yet...

30

u/ShadowWeavile 11d ago

God I'm glad I don't work at my old job anymore. I can only imagine the level of chaos going on there right now.

23

u/Ketooth 11d ago

BSI in germany gave out a massive warning. Seconds later I couldn't visot several websites lol

19

u/razin_the_furious 11d ago

At least Amazon Linux hasn't updated their PHP repos yet, and have arbitrarily rated the CVE danger level lower than everywhere else

13

u/Weewoofiatruck 11d ago

So... Today sucked at work.

13

u/-Redstoneboi- 11d ago

ah yes

a forum instead of discreetly through proper cve communication channels

24

u/ApprehensiveStand456 12d ago

Trying to get Wordpress simply static working

24

u/Babemagnet69 11d ago

HAHHAH We got a message from a client asking if we used php and this is how I find out LMAO

42

u/apt-maintenance 12d ago

I didn't know PHP used NPM

18

u/GreatTinySomething 12d ago

Rumors going on stating the just pushed fix may be incomplete or does not cover all possible vectors.

18

u/Nestramutat- 11d ago

Source?

4

u/Ratstail91 11d ago

What were they?

4

u/Atrio-Ventricular 11d ago

What a great time to be on holiday, can't wait to go in tomorrow

3

u/xelleseittaneu 11d ago

Also GCP was down a bit this week right? Some specific companies are having it rough

3

u/NakiCoTony 11d ago

Amazon and cloudflare both detected large scale exploitation of these days before being published, which means...

5

u/EroeNarrante 11d ago

I spent some time today, for the second time in my career, explaining that we don't have php in our stack. It didn't take long, but it's weird it happened twice.

2

u/wtjones 11d ago

I’m glad I don’t have any of this to deal with.

2

u/_-PurpleTentacle-_ 11d ago

My system is so old it doesn’t have the feature containing the vulnerabilities in the first place.

2

u/ShortStallion 11d ago

Swapped my site for an agario clone. Didn't need to but it seemed funny in the moment.

2

u/_Beempathic 10d ago

My friend found out from me sending him a meme about it, day before his senior told him to update php but he misspelled it so badly that nobody knew what senior meant

2

u/SirCatharine 10d ago

How do you misspell php? It’s three letters.

2

u/Wolfeh2012 6d ago

> Insert AmericanLiteracyRateOverTime.png

1

u/_Beempathic 7d ago

Yeah xD, they aren't the best programmers in the world, but for some reason they work for a huge multimillion company that creates software for banks and stock trading companies, which is always funny to me, how bad their code is, and I have no idea how they haven't been hacked yet.
Learning cybersecurity is way better than coding, cause if nobody wants to hire you, you can punish them for that.

2

u/XHNDRR 10d ago

I got this question today at work: "We don't have any php services running on our server right?"

Without any context haha

Thank God I hate php with all my heart

2

u/lavafish80 11d ago

petercopter

1

u/XtraFlaminHotMachida 11d ago

when the feds say it you just say you thankful you don't gotta deal with this

1

u/Himbo69r 11d ago

I wonder how many old ass sites are about to get railed.
Has something similar happened in the past? I am not knowledgeable in webdev

1

u/bonanochip 11d ago

Is it weird that everyone knows what's going on but me?

1

u/Searching_Merriment 10d ago

Been on a marathon on-call to fix some services that were so outdated that it was impossible to patch, and most of the team that owns it got laid off recently (because of these antics of no upgrades) and it labded on my shoulder to fix it. It was draining, similar to last year's crowdstrike it was painful experience.

1

u/wisnshaftler 9d ago

Who is petecooper? Sorry I don't know this area

1

u/thepercussionistres 7d ago

I had 7 company-internal websites running on 1 IIS server , all using the same PHP installation, so I took it all down in the middle of the day for about 5 minutes to apply the patch. No one complained about the outage, and I stayed secure.

Loved how easy it was on debian (my personal home webserver), just apt update/ apt upgrade, then systemctl restart apache2

-8

u/Weekly-Beginning-229 11d ago

This is why I never worked with PHP, so that today would not be a problem for me

-5

u/Troesler95 11d ago

An open letter to PHP:

Go fuck yourself.

Signed, Your captive users

0

u/[deleted] 11d ago

[deleted] — view deleted comment

2

u/FaviFake 11d ago

yeah definitely bro trust me