There isn't an easy exploit for this PHP vulnerability
eliastaylor.com
eliastaylor.com
To me, it seems more more akin to broadpwn, technically severe, wide scope (millions of iphones), yet will never be a one-size-fits-all-PWN-button.
Even in the age of AI, I don't think this is going to be weaponized down the line like how Eternalblue was... but I'm not the social media cybersec guy with 15000 followers, so don't take my words at face value ;)
There are a few “social media famous” cybersecurity folks really worth their salt who didn’t immediately dumpster their morals and skills at the first sign of an ego boost.
People like Krebs, Allison Nixon, Joanna Rutkowska.
Most of them though are just addicted to likes as it’s become a core part of their self worth.
Both of them are well known in cybersecurity but are very different people with very different reputations.
The people you hear from are famous personalities... That's the nature of being a famous personality. There are plenty of us who are just normal people with opinions of our own and no desire to cultivate a public name or face for ourselves...
Obviously, there are also some people in cybersecurity who oversell not for the greater good, but only to further their careers... and even those who are honest and would prefer not to self-promote like that, are sort of forced to, because visibility can matter as much (if not more than) expertise when trying to find a job in cybersecurity, as you'll look like an underachiever if you don't oversell yourself like everybody else.
It took me five minutes to realise that this was something of an nothingburger. As the author states, you basically have to have PHP running as root, and allow an attacker to upload and then execute malicious code on your server already - and if you’re there already the house is already on fire.
I think the problem that "coordinated disclosure" has too many people and companies with conflicts of interest.
For example, this PHP "coordinated disclosure", you have:
- OpenAI, Wiz etc. no doubt looking for ways to sell you a subscription to the highest tier
- Chainguard with a vested interest in selling their wares and being "first" with a patch.
- etc. etc.
Then governments probably have various "pro alerts" subscriptions so they get all in a panic because the company sending out the alerts starts ringing the alarm bells.Meanwhile the rest of the world with good-old LAMP (Linux Apache Mysql PHP) installations ? Meh ... a mere afterthought to the money-making opportunities. Some posts on HN suggest there was a 2 month delay between discovery and "coordinated disclosure" ?
Historically you might have written this off as an un-necessarily cynical view. But sadly I think it is a valid reflection of the world we live in today.
The fact that this particular CVE doesn't have an easily exploitable path has meant very little, historically, in the modern threat landscape. AI has proven it's able to pull off chaining multiple exploits that are very difficult or hard to pull off, but a machine does not care for "ease" or "difficulty".
All that is to say, the security community is currently a little gun-shy, but with good reason.
Nobody listens to experts. Maybe you mean cybersecurity influencers? Actual experts, like in most industries, are not the most visible.
You are basically correct in your estimate of the severity. Exploitation, at least now, requires knowing exact PHP config and a lot of tweaking.
There was a complete panic on the internet and in all HN threads, with people claiming insane things like "this is already exploited everywhere in the wild" (it was not), "it took me 10 minutes to replicate this vulnerability from a public information" (yeah, sure) or "there is a public blog post with a writeup" (it was hallucinated AI slop). Voices of people who knew more, while present, were drowned in fake news. It didn't help, that in the first threads people who knew more (and were serious about coordinated disclosure) couldn't say much, so people sharing the most, knew the least.
I wish I could help, but honestly there were so many people parroting incorrect information that it's impossible. Signed, someone who got information about this vulnerability before it was publicly known, and worked to remediate it.
I don't really understand the intent behind a post like this. Sure, this is a harder vulnerability to exploit than Log4Shell. Everything is harder to exploit than Log4Shell. How, exactly, is that meant to weigh on people's decisionmaking?
For the first time, I think, in my whole career, I saw sites yesterday go down instead of trying to mitigate an unpatchable critical vulnerability. They took the availability hit rather than putting their users at risk. Finally. What purpose is served by trying to dial back the concern?
If this was a long nerdy post about exploitability, I'd get it. But it's not. It's essentially a high-level comparison of logic vulnerabilities to memory corruption vulnerabilities. What is this argument for?
However, that still doesn't actually show that the original post is wrong - since we can't actually see how it can be exploited against a vanilla PHP server.
No idea of course if this meets the authors' "out of the box" condition. Who runs a fully stock PHP config?
pics or it didn't happen
I don't think anybody is asking for the code, but it would be nice to see the claims of working exploits that you're referring to.
A claim can be worth a lot, depending on who is making it and in what context.
You asserted without evidence that there is working examples.
Someone asked for those examples, and instead of providing them, you insulted everyone.
If you claim only ancient LAMP boxes are vulnerable, then that's like me saying your "your 80 year old grandma is more prone to accidents".
CVE-2026-109619 is the main memory related vulnerability but it alone isn't enough to break OS level ASLR unless you spam it (brute forcing).
I also think people want to check it with a vanilla install, not with "poorly configured servers" etc.
I've seen a bit too much (early on, ive not checked anything in the last 12 hours) saying "exploit confirmed", no one is disputing that, just its efficacy - specially after the hype and vanity sites.
History proves that new technology makes people twitchy in every direction. My anecdotal memory of X-rays is entertaining (we can use them to beam knowledge into brains!) and apocalyptic (X-ray guns will make warfare terrible!).
I have a rule for everything: the information is valid in inverse proportion to its political value. This is a bad exploit, and it happens from time to time. There's also an IPO connected to AI that is very political for many people who threw a lot of money at it.
And I'm usually unpleasantly surprised, but I can deal with it, I know most developers don't have the knowledge to deeply understand if something is really really bad or just a small problem. But now I'm finally at a point where I wonder if people will ever understand. We have critical vulnerabilities in widely used software coming out every other day, we get exploits for (on a technical level) very hard to exploit vulnerabilities in record speed, and yet non-security people still spout "full weaponized PoC or it isn't real" like it's 1999 (not that I was old enough to know that was happening at the time).
I don't understand why nobody believes that security people might know a thing or two. Is it just that it's so much more convenient to close your eyes and pretend that nothing is wrong? I wonder what needs to happen to allow us all to finally have a conversation about how we can make sure that the software that runs all aspects of our life gets more secure.
PHP were right to make the warning so strict, and people were right to take sites down in precaution. It certainly could have been horrific.
However, OpenAI makes it a boy who cried wolf situation and I've no idea if "we expect to see exploits 15 minutes after the patch is launched" was a genuine concern that thankfully doesn't seem to have happened or them trying to over-state the ability of their models.
Your point is valid about how we need to be more concerned about this stuff, but I just wish it wasn't being played for bragging rights by AI guys. I mean, they had an official php2shell website ready-to-go for the patch launch party, which doesn't help it not look like a PR exercise.
There is a wolf in the boy who cried wolf.
Mixing security with PR just does not seem a good idea, and a worrying precedent.
PHP handled it correctly, and I trust them. I don't feel the same about OpenAI.
You can have more than one conversation in a thread, and not everything has to be black-or-white!
https://openai.com/index/patch-the-planet/ https://www.theinformation.com/articles/openai-early-talks-b...
I personally also found the level of marketing noise on some of the websites distasteful for an extremely serious vulnerability of this caliber. I agree that probably didn't help with credibility for readers without any security knowledge.
That being said, the writeups and demos published on these sites made it very clear to anyone with basic knowledge about how things like UAFs get exploited (and I mean basic, I couldn't write a working exploit for something like this myself!) that this is a very serious issue. The presented facts lined up with the claimed impact, unlike the many hallucinated slop repos that appeared before the public disclosure. My issue is that for some reason non-security people often don't believe the security people in cases like these, and I don't quite understand why that is such a consistent issue. And besides, as you already mentioned, it wasn't just OpenAI, Wiz, Calif saying that this was bad, the PHP people said the same. They certainly had no interest in blowing this out of proportion.
I also personally think the concerns about 15 minute exploits were genuine and warranted. Maybe the chance for that wasn't overwhelming, but I believe it was there. The bigger issue, however, comes from the ability of adapting an exploit to other builds once one exists. Another comment on this post asserts this vulnerability "will never be a one-size-fits-all-PWN-button". And historically this has been somewhat true for binary exploitation (depending on your threat model). But the problem is, even if public LLMs can't quite consistently one-shot a full pwn exploit in 15 minutes, they absolutely can very easily adapt an existing exploit to other target versions and builds.
Because that is the criticism here.
And so far, even after the patch is out, it has been impossible for the public to confirm what sort of configurations actually would have been and would not have been vulnerable.
IMHO that is fair criticism.
In retrospect, that seems ill-advised. If you sat behind Cloudflare you were protected from theoretical attacks even before the announcement was made. Obv, hindsight is 20 / 20, but as usual, stuff announced by the AI hype machine does not stand up to scrutiny.
More seriously, though, I read it as bad because of the potential. All versions of PHP going back a full two decades were affected, all users of PHP are affected regardless of which features they use, and it’s still unclear if there’s an effective mitigation. So the blast radius if anyone does/did have a working exploit would have been enormous.
Your average site is fine at 99.9% uptime.
"9.2" is a big claim and a powerful justification for action, but with OpenAI involved my faith is very low that this isn't largely a publicity stunt. Especially given the age of the vulnerability.
I'd set up a model with cyber capabilities, maybe GLM 5.3, not sure if it needs to be abliterated?
Disable web access and let it work on exploiting the pre-patch PHP version in a VM, given the info we had yesterday.
Can it do it? How long does it take, and writing the findings into a skill, how quickly can it be used on new targets?
I'd be interested in giving it a try, but unfortunately I'm very busy this week.
crickets
No security expert can or should work that fast. Its a completely reasonable thing to do given the hyperbolic reporting just in case it turns out to be true. Some websites being down for a few hours doesn't end the world
There was no check that could be trusted to be the check to mitigate it. So that left the scenario that we went through.
> Some websites being down for a few hours doesn't end the world
Many governmental websites are still down and they say might stay down for days or weeks. Some are not directly related to PHP, but auth doesn't work due to firewall hardening or similar. There definitely is a non-zero downside.
Also announced today: OpenAI’s software vulnerability initiative.
Or do you mean something different?
If that is case, I’ll refine my statement to “Also happening today: OpenAI is doing a PR push on their software vulnerability initiative”, which I think suffices to convey the same meaning as the original.
https://openai.com/index/coordinated-disclosure-of-critical-...
> Using Gemini 4 Argon, the team at Wiz has shown why frontier AI is a game-changer for cyber defense. For over a decade, these critical vulnerabilities remained unaddressed because vulnerability discovery and exploitation were incredibly complex.
- Raluca Ada Popa, Head of Gemini Security, Google DeepMind
"Earlier this year, we worked with Alpha-Omega to scan PHP with Anthropic's Claude Mythos. But since the Mythos scan, we have added other tools, including OpenAI's Daybreak Red for validating reports and exploits, alongside sanitizer builds and reproduction environments that match our CI on every platform PHP supports."
https://thephp.foundation/blog/2026/10/21/todays-php-securit...
DSHR's Blog
I'm David Rosenthal, and this is a place to discuss the work I'm doing in Digital Preservation.
Tuesday, June 30, 2026
Coprophagia Is Bad For You
https://blog.dshr.org/2026/06/coprophagia-is-bad-for-you.htm...
I wouldn't be so sure. Many vulnerabilities have been "fixed" by blocking the particular ingress path of the demo exploit, and then it turns out that there were plenty more ways to exploit the bug, they just picked the easiest one.
be me
click link
typical ai-designed website
Poster and comic story by Michal Zalewski (@lcamtuf) of Calif."
if I were a serious cartoon artist, I would complain for taking the piss
I'm actually curious if a lot of shit got hacked because so far it doesn't seem so. Though it seems like it should have? We always see these catastrophic vulnerabilities showing up but when are the ones where it is actually just widespread publicly dumping databases everywhere and at a point where someone non technical even registers it.
The latest POC video for the php2shell exploit features a dancing anime girl. How would you create a video like this?
You would need to hire the team that made the original video (which as of this comment has 148 million views)
> What we demonstrated > Pre-authentication RCE on WordPress, Drupal and Joomla
1. An attacker identifies a publicly accessible website running vulnerable PHP.
2. They send specially crafted HTTP requests to the website.
3. The requests trigger vulnerabilities in PHP's internal memory handling.
4. If exploitation succeeds, the attacker can execute arbitrary code on the server under the privileges of the affected PHP process.
Either that, or I wasn't fully awake when I wrote it.
The RCE exploit is application dependent: it requires exploitable PHP code already deployed in the server. However, that exploitable code path is widely deployed by the most popular PHP software: WP, Drupal, Joomla, etc, so in practice most PHP deployments are vulnerable to the RCE attack.
Note that use-after-free would be prevented in memory-safe languages such as Java, Go or Rust.
Great, so show us a working exploit.
Buy 5$ on deepseek and have it write a script to grind out the right offsets to use for the most popular docker images.
I got it working just now; shell on any docker image i pull.
GG this dumb ass blog-post and thread.
I'm not sure what your question is or what you're getting at. The only time-sink for general purpose exploit is to churn through previous PHP versions to get the right offsets/struct sizes and common memory configurations.
Do you think security is done by running obscure configurations?
The question we are getting at is - is this easily exploitable? I haven't see evidence of that.
Its not "if" this is easily exploitable; its what you two want to define as easily exploitable.
It already is by my definition - that is also the clear majority opinion (unless you want to appeal to specific authorities that agree with your alternative definition).
As far as i can tell i've already posted more than enough proof with that github link for anybody that is a bit curious and with passing knowledge of exploits.
I'm stuck guessing at what more you want or expect of me in a random HN thread. I'm inclined to just wait 24h and there will be a public version that hacks this hypothetical php-5 set up as well.
You both clearly have a different definition of easily exploitable; and until somebody tells me what that definition is and what background knowledge I can assume I have very little I can do here except guess at what you're both ignorant off.
I was quiet clear I thought. I wanted a working exploit. Someone to demonstrate that my (or someone else's) server can be hacked with this exploit. So far what you've provided is a tightly constrained lab example where you have to control the amount of memory given to a server (significantly I might add), modify the apache and php configuration way outside sane values (exactly 1 worker, 8MB memory limits), have knowledge of the exact php build used on the server and how it is being ran (mod_php here).
In a standard webserver, you're not going to know any of that or have control to make any of that happen. Nobody is running a PHP website on a 128MB ram VPSs, nobody is running with exactly one apache worker. You're not going to know ahead of time which build of php they're using, or if they built from source.
I had to keep guessing at how much you actually know about this stuff, but given you brought up the workers as a constraint means you are either completely clueless and/or have absolutely 0 intention to think for yourself.
No 'proofs' like "demonstrate on someone else's server" or explanation of the exploit chain will ever be enough to convince you.
You dont want "a working exploit" - and we could have all saved some time if you were honest: You don't know what you're talking about and only after being given a complete exploit you can run against any target will you consider it easy by your standards.
Good talk. By your definition of easy, i can easily agree this exploit is not very easy. Though the settings dont matter/can be bisected remotely, you're right that - afaik - nobody has figured out how to avoid guessing the compile settings and version. Thus compiling it with custom settings is going to keep you safer in practice, while using a container is more dangerous.
To be fair, C has simplicity as an attractive feature (compared to other languages) but being memory-unsafe is unacceptable, so we need either memory-safe C or stop using it.
There are also hardened malloc/free implementations for C based runtimes. Of course none of that is perfect, the famous heartbleed exploit for example bypassed any outside memory protection as the library agressively reused already allocated buffers, none of the languages you named would protect against that.
Trying to understand what the message of the post is all about, I flipped the whole thing around in my head - and the message is basically "you don't need to upgrade your servers". Which is something someone with a working exploit would say. Or it's just noise on the Internet.
Indeed. And those who knows how to implement this, might also be the ones with capabilities to deploy it on a large scale (via bot nets or whatever).
What about state actors, suddenly getting a possibility to plant backdoors in millions of websites, etc.
You don't have to be too imaginative to see the "economics" of this.
> You should patch your servers anyway. There is a real vulnerability here, but exploiting it is significantly harder than people are making it out to be.
The take-home message is about human herding behavior being reinforced by LLM use:
> There's something important to be said here about how many people have Claude/GPT make design decisions for them, and how AI is the primary decision maker in the world right now. You've got this bizarre case of "Decision Schelling Points" where a method of solving a problem is extremely overrepresented, because it's what Claude does out of the box.
---
Having Claude re-inforce to people the severity - who do not have the security background to make a call - is a feature of herd behavior.
The risk is all that mattered.
The risk, unless the original reports have been lies, is very real.
Posting this AI complaint-blog because with hours of hindsight nobody released a seflreplicating variant, is the wrong lesson at the wrong time for the wrong reasons.
I guarantee you there well be a better time to post this complaint about AI-driven herd behavior. But it was not today about this.
Is it? That's the question.
Why attacking him personally?
Try telling people they are wrong often enough it happens a lot. ad hominem.
Virtue signalling is really coming more of a problem these days, specially in the security sphere.
The author of the article made a critical mistake in gaining my trust. He said the POC's don't work and told me to run it.
--Which-- POC's, Charlie? Why aren't you giving a full listof what you tried. This isn't reddit, and you're not doxxing or attacking anyone. Post the links. Give sources or shut up.
https://github.com/david-alvarez-rosa/php-rce https://github.com/eness/php2shell-CVE-2026-109618-CVE-2026-... https://github.com/ikow/php2shell-poc
* Regarding one CVE, "Remote code execution was also confirmed on PHP-FPM through application-level code paths."
* Regarding the other CVE, "A use-after-free and worker crash were confirmed, and the reporter demonstrated remote code execution against a real-world application running on Apache with mod_php."
Since those exploits exist, I expect that LLMs will duplicate them soon.
That said, OP is basically full of shit. This is absolutely exploitable and people are going to just assume the platform and ABI and spray it against the internet, particularly hoping for mod_php.
PHP does need to invest more in the built-in web server, though. Last time I checked, they still recommend against using it in production.
All other popular runtimes provide a standards-compliant HTTP daemon that any other HTTP daemon can proxy to, it's just the way things work nowadays. Insisting on FastCGI limits integration with more modern web servers and HTTP-speaking middleware.
OK, can you share a working one so we can test that our servers are fixed?
Also by that measure we're never safe. Which is fine, I think we can agree there are almost always unknown exploits out there but that's not the discussion.
There is more nuance to this as well, it might work, but only in certain circumstances which seems to be where this is going at the moment.
The point is you that the criteria for "am I safe from this vulnerability" is "I have applied the patches and/or config changes recommended by the author of the software" and not "I tried to run the PoC against my system and it didn't work". (nor, as was common in this case, "I have applied some config changes that some random people online feel like should help")
It's memory corruption. That requires some guesswork or understanding of the underlying system (platform + ABI) and heap grooming to actually exploit but that's not a security boundary. Any vulnerable version is just going to get hammered with requests until it either crashes without an exploit or actually gets popped.
"We found a potential vulnerability, but not sure how this would be exploitable, but you better fix it when you have the time"
or a
"Fix it yesterday if you dont want an immediate server burn."
matters alot to small maintainers
As Linus says: talk is cheap; show me the code
As there is always the chance, basically unfair to go that far.
The difference is that PHP has a long history of vulnerabilities while platforms like Java don't. And as bad as Log4Shell was, it wasn't a problem with the core runtime. It wasn't even a problem with the most popular logging framework at the time.
I wouldn't downplay this.
I can't say if it was most popular overall, but it (Log4Shell) was a nightmare for many F500 companies.
Merely declaring a transitive dependency didn't mean that the code was executing nor did it mean that user input was actually being logged through those libraries.
Log4j v2 (the vulnerable version) just wasn't that common at the time. Most everyone had moved on to Logback, and Log4j v1 (not vulnerable) was still more popular than v2.
upgrading php is much easier.
If it was just "everyone take a breath, we've been through something worse with Log4Shell", that would make a lot more sense.
They may be rare today but they have historically been very common.
> To the point where they had to ban java applets from the web.
Those are not RCEs, they were sandbox violations. Sandboxing untrusted code is hard and really only javascript engines have pulled it off. Java and Dotnet gave up, and that's fine.
PHP's security failures are not from trying something ambitious. They're from generating web content on a server. These are not comparable.
Some software written in PHP has a long history like that.
PHP itself mostly dont. Tbh runtime itself has fairly stellar track record on security considering it written in C.
Year CVE Vulnerability Exploitation prerequisites
2004 CVE-2004-1019 Memory corruption in unserialize() Application processes untrusted serialized data
2006 CVE-2006-4812 Integer overflow in PHP's memory allocator through unserialize() Untrusted serialized data
2007 CVE-2007-0906 Buffer overflows in bundled PHP modules and string handling Application passes attacker-controlled data
2007 CVE-2007-1286 Integer overflow in unserialize() reference counting Untrusted serialized data
2010 CVE-2010-2225 Use-after-free in SplObjectStorage deserialization Untrusted serialized data
2012 CVE-2012-1823 PHP-CGI argument injection Vulnerable CGI deployment
2014 CVE-2014-8142 Use-after-free in PHP's unserialize() implementation Untrusted serialized data
2015 CVE-2015-0231 Use-after-free in PHP's object deserialization Untrusted serialized data
2015 CVE-2015-2787 Another use-after-free in unserialize() Untrusted serialized data
2016 CVE-2016-10160 Memory corruption in PHP's PHAR extension Application processes crafted PHAR archive
2019 CVE-2019-11043 Buffer underflow in PHP-FPM Particular web-server configuration
2024 CVE-2024-4577 PHP-CGI argument injection on Windows Particular Windows CGI configuration
10 years like thid seem pretty stellar for me considering half of internet runs on PHP.
But yeah since it's inefficient I doubt it used much after 2010 when php-fpm matured and nginx got popular.
What makes you say that? I know several websites that ran on unpatched PHP 5 versions for over a decade, without a care in the world until now, because there were no known serious vulnerabilities in the interpreter itself.
With a MITM, you also mainly breach confidentiality, but this doesn't directly give you an exploit chain to pwn the device (though the many auto-updaters people are using nowadays might be one).
For IOT devices, there are also factors that limit the exposure. The certs are only from 2025/2026, so few devices with them installed are likely present in any given home, and depending on the hardware footprint devices may only come with the few select CAs bundled that they require due to size constraints anyways.
One rogue employee at Cloudflare could MITM half the Internet if they are able to get around whatever internal safeguards exist.
Do we? This was certainly true years ago. But I haven't really thought that modern PHP was any worse than any other scripting language.
- The exploit video had an anime girl in it
If you compare it with production languages, PHP looks pretty weak.
8f your comparison excludes all the vulnerabilities they come with, sure.
In practice no one using Node is using it without npm. Same for every other language that has insane transitive dependencies for any non-trivial project.
PHP is no more vulnerable than those languages.
In theory, perhaps not. In practice, much more vulnerable.
PHP applications might do suspicious things, by choice. But the runtime itself is fine. Certainly, there are less vulnerabilities in recent years in the PHP runtime than in, say, V8.
Coincidentally a website for one of my hobbies was throwing stack trace one day and I was surprised to see it was using Slim.
I think this section misses the mark.
The biggest problem is that for a good 12 hours nobody knew what was going on. All we knew was there is a critical vulnerability affecting all of us that allows RCE somehow and we have to have vulnerable servers open for potentially even longer.
Everyone who knew was being hush hush, only chiming in to say "nah, those workarounds don't work, you're fucked".
So when people started spreading rumors of PoC or when the Cloud flare CTO posted that they were actively seeing exploit traffic - what are we supposed to do?
We aren't sitting there trying to PoC with Claude - we're subscribing to a bunch of news feeds and twitter accounts while we try to prepare for the patch and close down what we can. We're calling executives saying "hey, how much money do we lose by being offline for 6 hours?"
So even if this isn't as easily exploitable as first believed, no one could have known that, because those with the ability to calm us down were seemingly choosing to stoke the fires.
This is (IMO) a failure of the potentially outdated disclosure system that's supposed to protect us. And at the very least a trial run of how the world may react next time, if it really is that bad.
The rather long delay in getting official Docker images didn't help; we were told "patch now!!1!!" but that apparently meant building from source.
I'm assuming the next few days will probably confirm if this was mostly FUD or not.
0: credit to Xenosystems for this excellent phrase
There is no news about hacked websites due to this vulnerability.
If anyone could ask Claude for an exploit, one would expect a lot of PHP sites to be hacked just for the fun of it, right? Like putting a message on some popular website or something.
> Despite the high volume of exploit attempts following the discovery of the Log4Shell vulnerability, reports of major breaches were relatively few. One of the first significant attacks targeted the Belgian Ministry of Defense. Reported on December 12th, just three days after the vulnerability became widely known, the Ministry did not disclose specific details but confirmed the Log4J vulnerability as the attack vector.
The standard way hackers go about today is data theft and extortion. I think we would have heard about it if was a big problem.
People should off cause keep their servers up to date no matter what. The total panic that was yesterday with people posting all kinds of random AI slop was pathetic.
> Because:
[…]
> 3. The exploit video had an anime girl in it
Lol, somehow I had missed this. Since I had to dig a bit for it, here it is for everyone’s enjoyment: https://www.youtube.com/watch?v=pfWZrdzvooc (via https://calif.io/php2shell/#php-5-4-0-rce)
All I know of Laughing Man in relation to exploits is from a small niche MMORPG called Toontown Online ( https://youtu.be/sGED1WcJhOM ).
you new here?
It's a video of an underage-looking ("loli") anime girl insulting the viewer for being a pedophile.
At this point it's mostly used by pedophiles in a sorta tongue-in-cheek way.
Of course, all the best security professionals are either pedos, israelis, furries, or all of the above, so it's not really surprising.
Yes there is a long tail of Internet of Shit devices that have a fixed non updated cert store, but these devices are being absolutely ripped to shreds by AI from all angles already.
Most non-browser TLS clients (so basically everything else, with default settings), things like curl, Python, Node, Go, Java, git, package managers and every script and daemon you've got, do three things that matter here: they trust a CA bundle on disk, they don't check revocation by default, and they don't check CT. So the fact that eMudhra and Sectigo have revoked these intermediates doesn't help them at all. [1]
[1] https://scotthelme.co.uk/eight-bits-of-trust-emudhras-ca-key... ( https://news.ycombinator.com/item?id=50177916 )The PHP exploit, as presented, runs directly from attacker to server. There's no requirement for an attacker to already be in the network.
A high severity CVE can have zero impact on your system because the vulnerable code path is unreachable, and a pair of low severity CVEs in your system components/libraries can compound and create a critical vulnerability in your system.
It's also not easy to pop an iPhone, but reliable, weaponized exploits are available in trade and governments use them in a plug-and-play way.
I sure hope thats not true.
All signs indicate that writing a self-replicating exploit that'd flood the internet without warning is possible. All we know is that nobody did.
A lot of websites - especially the ones who made the call to go down first like government / healthcare - do not have the luxury of taking any risk.
Writing this blog post with the "hindsight" of no exploit going viral for several hours after the patches is - let me be frank - complete bullshit; and i dont want this person anywhere near an important system.
If by next _year_ nobody has proven a successful consistent hack, then we can start to doubt the videos. If there is, then all of this has been warranted.
On the other hand, Chainguard did release their patches before the agreed upon time, proving they can't be trusted if you're working on coordinated patch releases. That was an absolute mess.
If it takes a week to come up with a working exploit code, the critical services have time to update.
If you are a bad actor you probably don't share your PoC around as it means less boxes to hit.
Crowdstrike's average "breakout times", the time gap between a first successful infiltration and maximal exploitation, has gone from days or hours prior to 2024 to minutes or seconds now.
Risk is the whole point. The websites going down first were government / healthcare.
Do you expect these websites to take the risk? Risks that you now feel is justified because hindsight seemed to have collapsed the possibility-space?
We can talk about this again next year; if still nobody has demonstrated a working consistent attack that _could_ have pwnd my gov and medical records, then we can reflect on the severity score and the response.
Not if your LLM relies on existing code and you collectively create a million repos with hallucinated broken implementations that do not work before a good public exploit exists, which later LLMs rely on. LLMs are self-defeating that way.
As others have said, there are probably other ways to reproduce it, but it requires a lot of prior knowledge of the app environment, or at least a good guess.
https://gist.github.com/mashiox/462e15b45a4c891b3a843e11b1d2...
tl;dr writing exploits still requires expertise, even when you're being aided by an LLM
We've had red team exercises against our systems multiple times, and the victory always goes to someone who exploits not one thing in isolation, but a sequence of multiple they go around prodding for. It doesn't matter if this exploit goes 0 to 100%, as long as it works half way, I still want to hear of it.
Parts of the exploit chain that was laid out in the blog posts that claim an RCE were bugs that have previously been reported. Dealing with them in the past in the severity you outline would have possibly prevented the exploit chain.
However, it's specifically the ability to complete this to an RCE what makes or breaks the headlines here.
Sure maybe not on a vanilla install but most people don't install Php, they use a pre-made container or a platform using Php under the hood.
Yesterday I simply wasn't confident in the security anymore and the data in my database is important enough to go offline for a few hours.
Almost every system on the internet has some local code you can chain to gain root, or a way to put some in place. It gets worse when it affects legacy systems, because they're the bastard stepchild of security. RCE on a box that hasn't been patched since Obama's first term is what little blackhats' dreams are made of. And developers are way too lazy to intentionally design their apps into different privilege domains to protect against chaining. Unless your app runs chroot() (is my neckbeard showing?) or in a container with nothing but a Go binary, somebody can LFI it.
A crack in the door is plenty of space to get a crowbar in (especially with interpreted languages).
You've got the detailed technical writeup on one end in the patches themselves, and on the other end you've essentially got the AI and security companies both together (php2shell) and independently with their highly polished microsites and blog posts with attractive infographics and stylized pitch deck looking images.
Every publication on the other side of the detailed technical writeup in the patches themselves wanted to make it into a huge fucking marketing stunt first and foremost, providing absolutely zero added practical benefit or value.
honest to god the insane 1-to-1 "show us the code!1" responses we keep seeing here make me wonder if the state-level actor is trying their hardest to keep people from patching.
it's painfully clear this is KEV and remotely exploitable on damn near every PHP install -- it's a big deal
I think this group has a good reason for not wanting PHP installations to get patched.
And what do you do then? Walk around the block? Flip a coin?
What you don't do is patch in a panic every patch that is out there, people are not doing this in most instances already.
So the question here is the difference between the two, and what is it based on.
Insane people never do patch management, so why would they now ? Updating your shit is not a 2026 discovery ..
Calif: "the available exploitation paths depend on the PHP version and SAPI but are always exploitable under default configurations" ... "This results in RCE against arbitrary PHP scripts on Apache mod_php and PHP >= 5.4.0."[2]
PHP Foundation: "full remote code execution was demonstrated with default settings."[3]
Unless all of these organizations are lying, the exploit can work against a default PHP installation running a Hello World script.
[1] https://www.wiz.io/blog/php2shell-php-rce
[2] https://calif.io/php2shell/
[3] https://thephp.foundation/blog/2026/10/21/todays-php-securit...
With previous showstopper security bugs, once you knew the vulnerability existed the exploit was immediately obvious.
Not too dissimilar to anti-vaxx stuff or that whole other space of these kinds of dysfunctions.
You always need some kind of hook that is correct.
There is no higher authority on "this is actually fucked" other than the people that actually make that very sausage.
Patching it is painful. It needs to be done regardless.
If it’s easy to exploit then it should be easy to find a POC
The reason it's so bad is because the multipart/form-parsing by the accounts I've read happens- or begins before the PHP code is actually run, ie it's in the initial runtime stage of a request.
Should be easy enough to verify the central claim that you need to be able to read the password file through some other means to use this exploit.
A human being, presumably. But he could be a dog or a diffusion model and I wouldn't care, because arguments stand on their own. There is no special caste of people who alone have permission to propose ideas.
You advocate critical thinking. Excellent. Can you critically evaluate "Elias Taylor"'s argument?
So that's a silver lining I guess.
Whoever gets pwned due to this might get naturally out-selected. The system works!!11 Thank you darwin.
The greatest trick that Devil performed was convincing people that he didn't exist, right?
Besides, he's got a point. The initial PoC that kept popping up on Mastodon (the ones he linked in the post as well) simply didn't work. One of them even posted an updated exploit later that still didn't work, but supposedly meant the vulnerability went from CVSS 10 to CVSS 4.
I love this
Chainguard broke the embargo being convinced they have the evidence of this being widely exploited already yesterday. Where is it?
Please keep in mind that Brandolini's law exists, and so does a whole arsenal of stuff like the Gish Gallop.
Also, extraordinary claims require extraordinary evidence, and here, the extraordinary comes from that blogpost's claim, as the developers saying "yes the software we made is actually broken" is not extraordinary.
1: Wiz finds the exploit , begins responsible patching procedure
2: Chainguard,etc gets to know about it, adds some monitoring on top of their patches.
3: OpenAI being happy for the upcoming publicitiy starts an automated run to _count_ vulnerable instances for _marketing_ purposes.
4: Chainguard interprets it as wild exploitation and pulls the trigger early.
> I wouldn't be surprised
yeah i am not surprised you're not surprised. you seem to have already made up your mind. that said, every single guess you have made here is completely incorrect and not based in facts at all.
literally you have no idea what you're talking about! but don't let that stop you from having an opinion
whois eliastaylor.com
Domain Name: ELIASTAYLOR.COM
Registry Domain ID: 3148982369_DOMAIN_COM-VRSN
Registrar WHOIS Server: whois.porkbun.com
Registrar URL: http://porkbun.com
Updated Date: 2026-10-02T19:39:03Z
Creation Date: 2026-10-02T19:14:35Z
Registry Expiry Date: 2027-10-02T19:14:35Z
Registrar: Porkbun LLC
Registrar IANA ID: 1861I think the main point is mostly the same regardless of that though. 3 days ago or 20 days ago it’s a very recently created site.
the user "zkldi" is who submitted it to hn also. seems like a real person to me.
Or rather, maybe we do, but we might differ when it comes to topics where claims as big as these are made.
https://www.twitch.tv/zkldi/about
https://github.com/zkldi?page=2&tab=repositories
https://wiki.archlinux.org/title/User_talk:Zkldi
edit: unless there is AI that fakes being human since 2021 and has its own Twitch channel in order to post a blog post to Hacker News.
> I'm a 21 year old programmer from the UK. In my free time, I play ITG and create rhythm game adjacent stuff.
Is this a good source for "actually, the people are wrong and you shouldn't worry. This is overblown"?
Should that be guiding people's decisions on how to treat this very real and confirmed by the devs and third parties vulnerability?
But again this is very very simple to refute by actually linking a working PoC.
The statement was that it's not a real (primarily as in credible, relevant. Actually real also an aspect but not the primary one) person.
There could technically be a human behind it, just like Jia Tan could've been a human. But for judging the input, that is irrelevant and misleading.
The biggest problem reality is facing is that people's consensus operates on "having every voice heard", which is good in a small village, but terrible in a globalized internet.
And thus, if we want to keep "every voice needs to be heard", we need to reclassify "voice" and "real" not just on "has cells".
That's the mental shorthand I operate on, which I should have resolved down fully to make it work with "normal" people's brains. Regrettably.
The claims:
* The existing exploits don't work. * Reasoning chains producing an exploit have cheated the test.
If the claims are wrong then rebutting them is easy:
* Ask an LLM to produce a real exploit. * Test it.
I'm more curious why the top post in this thread is solely attacking the guy's character and not refuting any of his claims.
> An empty blog by a person that may or may not exist with no contact info.
I'd hate to upset all the 'this guy is Keyser Söze' internet detectives, but you've described 90% of posters here (including yourself).
I read the blogpost and was left waning on the post actually making strong claims. "The biggest starred PoCs on Github are not viable exploits" does little satisfyingly justify "This vulnerability is not a big deal". The kind of malicious actors who would exploit this vulnerability at scale have no incentive to make their own versions public and without the author showing some serious expertise I see little reason to trust them at their word.
>I'd hate to upset all the 'this guy is Keyser Söze' internet detectives, but you've described 90% of posters here (including yourself).
Exactly, it however does not really apply to the actors warning of the exploit, from what I can tell there is at least some track record there.
I have had this take but for things like exploiting with a DRAM interposer ala Battering RAM. They say it's a low cost attack, but the amount of obstacles you need to overcome (including having root on the system and physical access) is intractable to virtually everyone, and a nation state wouldn't go to that kind of gymnastics when it is more than likely there is a quicker and easier way in.
But this? I doubt any high value targets will be exploited in the wild since news travelled fast and from what I can see pretty much most took preventative action. Looks like pretty much everyone heeded the warning and suggestions. It'll mostly be a nothing burger like Heartbleed. There'll be of course low hanging fruit of unpatched servers out there, but anything of importance would have already had active maintenance and patching.
Now that Calif has released the details, I'm sure there'll be a contingent that can actively and easily exploit this, either now or very soon, with or without the guidance of LLMs.
But yeah if someone said Battering RAM, I would say fuggedabout it, but if someone said PHP vulnerability with a CVE of 9.2, I would say patch it ASAP or bring the servers down until you can.
Mostly because people either "did it" or yelled long enough and loud enough that it "got done". There is a saying about horses and water, but some people needed to be dragged, kicking and screaming and have their faces shoved in the well.
When headlines like "there wasn't an easy exploit" come out I have burned a lot of good will, on what people will perceive as "nothing burger". The security space has a knack for making a complete mockery of itself and then wondering why no one seems to give a fuck.
"I'm getting too old for this shit" really does apply to today.
Even if there aren't any that work OOTB today, there may be tomorrow. Or in a week. They may improve over time. They may combine other vectors. They will probably not exist on Github but somewhere on the dark web as a .zip you pay for in Monero.
They will combine shodan with fingerprinting and other ways to find "older PHP versions". There will be brute force versions, that just try every home router for insecure NextCloud. And so on.
This is real. This is dangerous. This will be exploited. Because I am sure even after all the noise, (hundreds) of thousands of PHP servers won't be updated for weeks. Many running on a forgotten corner of the web, on homeservers, on a VPS that no-one has access to anymore, in a CI, in a company on the old desktop underneath Jim's desk, on a raspberry-pi everyone totally forgot about.
Why are you speculating?
Because the PHP devs and the researchers all explicitly stated that they have PoCs that can exploit it. Are they lying? Exaggerating? Spreading FUD?
I am speculating as to why the ones who have the most information tell us something very different than a "random blogger who tried repos on github".
We don't know, that's why we are asking for evidence.
> I am speculating as to why the ones who have the most information tell us something very different than a "random blogger who tried repos on github".
But do we know they have the most information? Or are they relying on the same thing everyone else is?
Again, obvs you should patch your servers, but the point that this is not an easy exploit stands.
Do note that commonly a blackhat, or state operative will not chuck their code on github, but either try to sell it, or try to use it to quietly get footholds on strategic places.
Again: such exploits are typically not distributed, hosted or published on platforms like GitHub. But on forums, boards and shops on the dark or deep web.
1. A proof of concept is not an exploit kit, it simply needs to demonstrate that there is an issue, improving it to be more reliable only serves to help bad actors get to real exploits sooner.
2. Memory corruption bugs are notoriously flakey, crashing the target without getting code execution is generally always a possibility. Sometimes it is random from run to run, sometimes a particular attack pattern simply won't work against a particular target. Failure to find a working pattern does not imply that no such pattern exist.
3. Attacks only get better. This is usually said about cryptography, but applies just as well in this case. Data execution bugs have this tendency to make idiots assert confidently that it is improbable that such a condition would occur without the program crashing. And so the bugs get to live on until someone finds out how to tickle the program in just the right way to make the improbable a lot more likely. Even if existing attacks were as bad as the author implies, it would almost certainly only be a matter of time before someone managed to tweak them to become a whole lot better.
4. A big part of why this gets so much attention is the sheer number of high value targets, so many servers run PHP, and they were pretty much all vulnerable. Usually bugs like these still require that the PHP runtime is configured in a particular way and/or the actual PHP code run a particular function using attacker controlled data. That is still bad, but attackers will need to do a lot of digging to find the vulnerable servers.
I suppose majority of the them now...
This is the most compelling argument presented. If this PHP vulnerability were actually so bad, we'd be probably be seeing some kind of widespread impact by now. If every potential target requires a second coincidental, target-specific vulnerability I think we should probably call off the search party.
The alternative way to describe this situation is "defense in depth". We've located a very thick part of the ship hull that we could technically drill through if we had enough time and money to do so, but this would not scale up in any meaningful way. What you can do to a vessel in dry dock vs on the open seas are two wildly different universes. Vulnerabilities located under pristine lab conditions or within the context window of a clanker do not bring me much concern.
One problem though, I've personally seen this exploit be successfully used against Vanilla PHP instances in the wild.
Real containers, running PHP 7.4 or 8.1 or even 8.4; exploited and compromised.
Yes, this is more difficult to do than log4shell. So we won't see the army of Metasploit bots like we did in 2021. But it's still very much a real threat.
Get on time, pa, they are called LLM kiddie now
I'm no expert on UAF exploits. I guess one thing I'm wondering is whether the pointer to "freed" memory in this case is still pointing to memory reserved by the system for a PHP process, or if it's some address that's truly free and could be picked up by another process.
This isn’t a thing; virtual memory (https://en.wikipedia.org/wiki/Virtual_memory) is very old, and Linux has never not used it. It takes a separate vulnerability (a “local privilege escalation”) to do what you’re getting at. (However, those are plentiful, and arbitrary malicious code with PHP process privileges is often already catastrophic for a web service.)
That said,
> OP seems to be implying that there's no way the UAF bug could be used to run arbitrary code with higher privileges than PHP itself
No, nowhere does the article imply that at all.
And yeah, obviously it's still dangerous to have arbitrary code running with PHP's privileges.
Just one thing: With mod_php, those httpd processes are spun up on demand. After that the memory is released to the system, right? There's no master Apache webserver process holding all those addresses.
Just for clarity, I took the OP's point to be that the only way this could be used to escalate privileges would be if there were existing scripts on the server with credentials that PHP itself could be made to exec() ...but... if you know a process is going to be spun down and no longer holds a pointer to the memory you're writing to, couldn't you theoretically write something that might be picked up by the next process? Or is that always formatted by the next process' vm?
Appreciate your patience, I'm not a low level coder.
> Or is that always formatted by the next process' vm?
So yes, that’s sort of how it is.
https://renenyffenegger.ch/notes/Linux/memory/read-write-ano...
You need the same access as you would for connecting gdb, so generally need to be running in the same uid, or be root.
Honestly it really shouldn't matter if most attackers can't find the exploit; it only takes one bad actor to wreak havoc. And I have seen already several sec YouTubers post live exploit walkthroughs so....
> When I think about "we're very fucked" CVE10s on the Internet, I think of the following vulnerabilities:
Which is IMHO a really good list. It's also, I think, important to note that every single one of the four items is not at all a memory safety bug. They're all logic, at various levels of an interpretation stack.
I think a lot of folks with their heads down in the security world might have expected the opposite. As is often the case in engineering, the smartest people end up obsessing over solving the less important parts of the problem.
(I'm not cosigning the analysis in this blog post. I think "I haven't seen a PoC I could get working" is not the evidence this author seems to think it is.)
[1] My favorite example in this kind of argument just because it's so obviously understood and non-technical. All the pedantry in the world wouldn't have fixed that, it was the combination of a bunch of correctly implemented and useful features.
(And sure, there are escape hatches - like Python has "recv_into" that could be used to implement heartbleed if you are really inclined to - but this would not be a realistic python program. In python, even with buffer reuse, you'd be using memoryview or similar that can't have a heartbleed problem)
TBH this would have happened if they used the same approach in any language, and wouldn't have happened if they used a different approach in C.
They wrote their own allocator. That's the problem. If they didn't use their own allocator valgrind or sanitisers would have caught this.
If they used this approach in any other language, like Java or C#, heartbleed would still have happened.
Every language has a preferred way to deal with things. In C, it's raw pointers, which are very error prone. Other languages have something better. For example, if you were to implement custom allocator in C#, would you return raw pointer? Or maybe base array + offset pair? Of course not, you'd choose a Span or Memory, and those are not prone to buffer overruns.
I repeat the claim: This isn't where you should be spending your tokens and it's not the hole through which the apocalypse will arrive. People fighting over Rust will be the first to fall when the auth-exploiting robots arrive.
Edit to address the specific example: OpenSSL would never have been written in .NET in the first place, being very performance/hardware sensitive (there's a bunch of platform assembly in TLS implementations) and by its nature designed to be needed by all/almost-all software on a system. The argument everyone would reach for here would be Rust. But in Rust, the same logic that led to the custom allocator would probably produce an unsafe-based equivalent (which is true for almost all heavily optimized rust, sort of a dirty secret).
That's irrelevant - had they used the same approach in C#, heartbleed would still have happened. The language here makes no difference because the error is in the approach they chose which bypassed any ability for tooling or language features (such as found in C# and similar) to prevent reuse of deallocated memory.
But would anyone do this? No. If you are writing pool-based packet processor in Python, you'd deal in buffers (safe from overread), in C# you'd return Span/Memory (safe from overread) and only in C you'd return overread-prone raw pointer.
Not that you can blame programmers in this case - C simply lacks the facilities for safe memory access, such as bounded pointers or spans. And you can't really blame it on custom allocator - malloc() would have had the same problem.
If that was all they did, tooling like valgrind and sanitisers would have caught it.
Heartbleed was an issue because they used their own allocator. If they didn't use their own allocator, the error (over-running an array/reusing deallocated memory) would have been caught by the tooling.
One of the exceptions (with regards to web facing attack surface in a memory unsafe language) is that people still use OpenSSL, which has a terrible history of memory unsafety, including the cited heartbleed.
Amazon Threat Intelligence identifies PHP2Shell exploitation prior to public disclosure in MadPot[1]
I don't know about easy, but plenty of exploits in the wild. Easy is relative, you know.There are entire states pushing for, and corporations built on exploiting 0 day vulnerabilities[2]. They will spend millions to hack an entire platform so they can somehow infiltrate 1 customer that they care about. Some high value target. There's a good chance that any innocent looking business has some high value (in the eyes of intelligence community) customers.
The attack vectors they use are sophisticated, gaining access to multiple systems, much like how OpenAI agents got through to HuggingFace servers[3].
So knowing what we know now, it's naive to think people are calling wolf, they are not. They just happen to know something most don't.
[1] https://aws.amazon.com/blogs/security/amazon-threat-intellig...
[2] https://citizenlab.ca/wp-content/uploads/2025/12/Report135-t...
[3] https://openai.com/index/hugging-face-incident-and-the-road-...
It was some good drama, and honestly I didn't even know LLM was involved so heavily in it. But damn annoying that people blindly believed LLMs and I blindly believed those people.
Many apps (eg chrome) frequently fix bugs that are actively exploited in the wild yet have no public weaponized chain (sometimes for months).
The fact that there is no fully public weaponized chain does not mean it does not exist or that this bug is not as scary. It only means that it is not as trivial to exploit as log4shell/shellshock/etc.
According to cloudflare [1], it is being exploited in the wild.
*My phone autocorrected to that and I'm keeping it.
Where are the mass successful exploits? Why is this different to any other patch?
Penalty is based on the impact, and while even attempts can have significant impact, software systems are non-feeling entities that endure attempted exploitation all the time. Just check your logs if you run any public service.
That is people trying to exploit it, not that it is being exploited in the wild. They could've all failed because its not easily exploitable, like the post said.
I’ve found that if I’m looking into security issues that if you ask an LLM about a “security” issue… it will find one regardless if you have one or not. Like some over eager security consultant desperate to justify their job / collect more billable hours.
This is especially true if you have a bunch of server logs and ect.
https://news.ycombinator.com/item?id=50195017
Vibecoded on purpose without any of my influence, just to prove a point that a local Qwen3.8 model that's post trained on DeepSeek's reasoning traces makes this exploit and the necessary Heap Feng Shui totally feasible.
No I proved exactly that. Learn to read.
Do you actually understand what you have?
It's like saying you have instructions on how to get into someone's house, but first you need the key, the alarm needs to be disabled, you need to do it between 1:05-1:10 am, and the guards need to be lured away from the property or your instructions will not work.
Read up on what ASLR does, then read the heap feng shui document (or at least towards the fourth headline in the README), then come back here. Because it does not work the way you think it does.
I even let the agent create two separate demos for this, one for ASLR and one without, but people are still to stupid to understand it.
Versions are pinned, replace it, check the fatal.php to get the initial memory distances, then retry it again. It'll work, that is the freakin point of the demo.
What about our routers? What about Home Assistant? What about IoT?
Vulnerabilities are going to surround us, many of which will never ever be patched.
We may well be fucked.
I largely agree with the author and it is a common annoyance in cyber security discussions where people make strong claims but have nothing to back it up with.
[1] https://github.com/eness/php2shell-CVE-2026-109618-CVE-2026-...
https://www.ft.com/content/245778d9-597b-492d-b5b6-a2967c77e...
Doesn't look like confusion to me.