Ed Grosvenor retweeted
Ruby’s turn 😅
Remember the GitLab bug? Well now it moved upstream into Ruby.
Multiple 10.0 CRITICAL exploits.
Patch now 🚨
Happy Friday 🤠
ruby-lang.org/en/news/2026/1…
Ed Grosvenor retweeted
Didn’t want to shill my stuff during the chaos or in my Security Notices, but now things have calmed down (I hope!):
I do Laravel & PHP Security Audits & Pentests. If PHP2Shell has you wondering what’s hiding in your own apps, I can help.
valorinsecurity.com
Ed Grosvenor retweeted
I'll be the first to admit I'm mediocre at exploit development, but I am in contact with enough extremely talented exploit developers to say this for certain:
Anyone claiming they were "easily" able to generate a working php2shell exploit with AI is either:
a) a world-class exploit developer with an extreme case of imposter syndrome.
b) currently looking at some very confident-sounding but wrong LLM output.
I'm rather certain it's the latter based on the number of AI-hallucinated exploits I've seen posted on GitHub. Threat actors are also blasting my honeypot network with "php2shell" exploits that not only don't work, but aren't even within 10,000 miles of anything to do with how the exploit actually works.
I've seen the same technique from the attached image in multiple alleged "php2shell exploits", including one on GitHub with over 100 stars. Problem is, it's not php2shell, nor is it even a vulnerability at all. It's a technique known as "session poisoning", which can be leveraged to exploit local file inclusion (LFI) vulnerabilities in PHP apps (not PHP itself).
The only thing it has in common with CVE-2026-109618/CVE-2026-109619 is they both use the "PHP_SESSION_UPLOAD_PROGRESS" feature. And mitigation advice for both issues reference setting "session.upload_progress.enabled" to "Off".
People are shoving loose details of the vulnerability into LLMs, the LLMs are keying in on the "PHP_SESSION_UPLOAD_PROGRESS" string, then generating session poisoning code that has nothing to do with the actual CVE. And because the people doing this have absolutely no idea what they're doing, they're confident enough to post their "proof of concept exploit" to GitHub and share it on social media.
So if you see people talking about "session poisoning + LFI" it's likely their LLM hallucinated an exploit based on a 2018 blog by Orange Tsai talking about a local file inclusion attack vector.
What's even worse is that "security researchers" are then using LLMs to triage these exploitation attempts, falling victim to the same hallucinations, then confirming there is ongoing mass-exploitation (there currently isn't).
The actual real exploit is very difficult to exploit, and so far I've not seen anyone successfully get it working on more than a handful of PHP version with highly-specific configurations.
LLMs are useful tools in the hands of skilled professionals, but for others, they're often just a Dunning-Kruger accelerator.
I'm irresponsibly reporting Toddler2Shell, a vulnerability that only applies to parents with children who are just barely tall enough to reach the desk. Risks include randomly remapped keys. There is a patch available, but it must be applied 2 to 4 years ago to be effective.
TL;DW I've built two proofs of concept for a new tool that will let you take down a vulnerable site in one click and replace it with a basic HTML 503 page. For the next time yesterday happens.
And the big thing I took away from yesterday, having done an emergency Rector + Claude update is that there's no excuse anymore for running out-of-date PHP. Between @rectorphp @laravelshift and your favorite coding agent, it's cheaper and easier than ever to get up to date.
Scalpels in the Lab - The RCE Kill Switch xitter.cf/i/broadcasts/1DGleVyma…
I'm burning some tokens on a proof of concept, inspired by recent events. If it works, I really hope @laravel steals it from me and just adds it as a feature in Cloud.
It's the first time I'm actually going to use this "make Cloud think everything is a go app" trick for something real.
So far so good. I’m trying two different ideas to let people shut down a vulnerable app and point it at a static page with a single click (custom message optional). One works without needing any extra credentials in scalpels. Just the Cloud API. The other needs Cloudflare.
If this pans out, the plan is to let people deploy this isolation app, customize the page for each domain they own, and let it go to sleep. If they need it, they can just come into scalpels, choose their vulnerable environment, set a message, and click Isolate. It stops the real app. I’ll probably add a tool in the MCP so that you could just say to your agent “use the scalpels MCP to isolate all my PHP apps with a message about patching today’s CVE. Assure customers that their data is safe and that we will be back soon” and, after the patch is applied say “verify that all my PHP apps are patched and then bring them back online”.
For serving the static page in the Cloud solution, the user can choose either go or rust for the runtime, just in case go or rust is what’s vulnerable. Cloudflare would use a worker.
One of the things we all learned yesterday is that the sponsor list on deb.sury.org is WAY smaller than it should be.
Great work, everyone. Some people are taking this opportunity to shit on PHP, but the way everyone from individual developers to big companies stepped up to plow through this together should tell the world why this language still dominates.
If you're on @laravel Cloud and you're using Octane, you are not safe quite yet. They haven't had a chance yet to get the newly released (like 20 minutes old) FrankenPHP installed.
Ed Grosvenor retweeted
How to patch the PHP CVE-2026-109618 and CVE-2026-109619
Full guide on Debian, Ubuntu & RHEL together with steps for PHP-FPM, FrankenPHP & mod_php installs
Stay safe out there PHP friends!
Keeping this updated as more packages become available
ma.ttias.be/php-cve-2026-109…
Our dear friends at @laravel are being reminded that having lots and lots of monthly active users is good until all of those users try to hit the site at the same time.
Chin up. This will pass, and we'll toast your heroic efforts the next time we see you.
I'm not sure, given how this has all rolled out, that I'd be bragging about my company's involvement in uncovering it.
OpenAI models helped researchers—operating as part of our Patch the Planet initiative—discover critical security flaws in PHP, an open-source programming language used to run an estimated 70% of websites.
Over the past two months, we led a coalition of maintainers, researchers, and security providers to prepare fixes and protections ahead of disclosure. This duration was necessary because the fix was quite intricate and required a major change to the PHP engine. Every site using PHP can now safely upgrade their version to stay secure, in addition to applying mitigations from various security vendors.
Due to the severity of these flaws and PHP’s widespread use, we consider this bug to be one of the most impactful vulnerabilities in recent memory. It also marks a new phase, where AI can find security bugs with internet-scale impact.
This is an example of the Defender’s Window in action: to our knowledge, frontier AI was able to find this vulnerability ahead of attackers, giving defenders time to prepare.
openai.com/index/coordinated…
Readers added context they thought people might want to know
OpenAI may claim a role in the coordinated response and patching process. But the initial discovery and exploit development, however, occurred several months earlier by an independent researcher.
x.com/lcfr_hax/statu…
I’ve seen a few “temporary fix” scripts floating around that will definitely break your server. Which, under the circumstances, might be the right move.









