Skip to content
Skip to content

Independent e-magazine

the OUTSPOKEN digest

What PHP2Shell Reveals About Maintaining the Code Behind Most of the Web

A bug seen in 2024 went unfixed, a leak scrambled the embargo, and hundreds of thousands of hosts run branches with no upstream patch. Reported views on what failed and what held.

Outspoken Digest Technology Desk

Thursday, October 22, 2026/3 min read

A brass padlock beside a pair of keys on a wooden table, photographed on 16 January 2018, a file photograph illustrative of security and not of PHP or anything in the story
Photo: Trougnouf via Wikimedia Commons (CC BY 4.0)

The patched releases are out, and the argument about what PHP2Shell means has already begun. The facts below are as the maintainers, researchers and analysts have reported them, with each view attributed. The technical background is in our explainer, and the day-by-day sequence is in the timeline.

Why did a known flaw sit unfixed for two years?

The PHP Foundation answered this itself. In a post covered by The Next Web, the Foundation said a core developer noticed one of the two memory-handling bugs in 2024 while fixing an issue from PHP's first external security audit. Someone suspected it could be exploited, but no attack path was found and other work took priority. Several competing fixes then stalled for months, each with a cost: broken backward compatibility, a new denial-of-service risk, or forced changes to thousands of third-party extensions. The Foundation called the delay a structural failure rooted in its decision process and lack of resources.

Italy's Il Sole 24 Ore frames the same facts as a cost calculation: the risk of a breaking change was judged higher than the risk of waiting, for software the paper calls more or less indispensable. Calif's write-up notes that a 2024 audit by OSTIF and Quarkslab found a related out-of-memory issue that was never proven exploitable and so was not fixed.

How did the embargo come apart?

PHP's account, relayed by The Register, lists several leaks: CVE numbers circulating on 20 October with wrong details, mitigation advice that went to some critical infrastructure providers, a proof-of-concept video Calif says it published by mistake, and fixed container images that Chainguard published at 07:41 UTC on 21 October, more than six hours early. The Foundation said the early images disregarded weeks of coordinated work. Chainguard's chief executive Dan Lorenc does not dispute the timing but says the company did not leak. He describes the bugs as ones his team found independently with AI tooling, and says exploits can now be built within hours.

ITdaily quotes Vincent Ginis, an AI professor at the Free University of Brussels, saying the patch reached the world with a certain clumsiness. A PHP security team member, writing on a personal blog, said several rumours were simply wrong, including the severity, and pointed out that the single most repeated stopgap addressed only one of the two bugs.

What did the PHP security team do right?

It gave advance notice on 20 October with a release time and kept it to a day, told distributors early, and shipped minimal source backports for PHP 7.4, 8.0 and 8.1. The Foundation says it set up an Ecosystem Security Team in May, hired two more engineers over the summer, has published 15 CVEs since early July and has dealt with more than 100 invalid or duplicate reports. Wiz says it took two months from first report to patch for flaws it compares with Heartbleed and Log4Shell, and that AI let one researcher do in a week what once took a world-class team months, a claim that cuts both ways for defenders.

Who pays to patch the long tail?

Mostly not the project. PHP does not fix anything before 8.2, and PHP 8.2 itself ends security support on 31 December. Mallory counted about 884,000 internet-facing hosts advertising PHP 8.1 or older, and Recorded Future, citing scans, found roughly three quarters of version-disclosing addresses it counted on end-of-life branches. Those counts are banners, not proof of vulnerability, since vendors backport quietly. The paid route is real: AlmaLinux, Ubuntu's paid extended support and TuxCare all ship fixes for old branches. TuxCare's own view is that a WAF in front of an old branch only buys time.

The Foundation has asked companies, hosting providers and governments that run on PHP to sponsor its security work. Whether they answer will shape the next response. How the exposed estates fare is covered in our look at who is exposed.

Published in The Outspoken Digest

Editorial desk

Outspoken Digest Technology Desk

Software, hardware, artificial intelligence and what they change for everyone else.

Newsletter

The Digest, in your inbox

One edition, sent when it is ready. No noise, and your address is never passed on.

We send a confirmation first. One click to leave, always.

Share this story

the OUTSPOKEN digest

Beyond boundaries. Independent stories on technology, culture, and the trends shaping how we live.