PHP2Shell · The Full Story
Special report · Long readCompiled 26 October 2026≈ 45 min read

The week the internet's elephant caught fire

In October 2026, two serious bugs in PHP, the language that runs about 7 in 10 websites, became public two days early. The bugs had been found with help from AI. Governments around the world switched off their own websites to protect them. This is the full story in plain language: where the bugs came from, who found them, how the secret got out, who went dark, who attacked, and what it means.

CVE-2026-109618 CVE-2026-109619 CVSS v4 9.2 · Critical Fixed 21 Oct 2026 + CVE-2026-115560 (23 Oct)
500 OOM php AI helped OFFLINE
The two-minute version
  1. PHP is the behind-the-scenes engine that builds web pages for WordPress, Wikipedia, Drupal and countless government sites. W3Techs counts it on 69.2% of websites whose server language is known.89
  2. The weak spot was spotted by humans in 2004, 2019/2020 and 2024, but it was always judged too hard to attack, or too hard to fix.25203
  3. In August 2026, researchers at Calif (working with OpenAI), then Wiz (owned by Google, using Gemini), used AI models to prove that strangers could take over a web server without logging in.45
  4. The fix was being prepared in secret for 22 Oct. On 20 Oct the news leaked on Hacker News, a demo video was posted by mistake, and Chainguard shipped fixed builds early. Amazon had already seen a mystery attack attempt on 17 Oct.2638
  5. Patches came out on 21 Oct. Governments in Europe, the UK, Canada, Japan and beyond took their own websites offline as a precaution. Cloudflare saw attack attempts grow from "thousands" to "millions".37
  6. As of 26 Oct, no confirmed breach of a government or company through PHP2Shell had been made public. One claimed case was retracted.3265
01 · The backstory

A 22-year-old crack in the foundations

To understand why one bug could darken government websites on three continents, you need to know what PHP is and why so much depends on it. You also need to know that people had seen this kind of weakness three times before.

What is PHP?

PHP is a programming language that runs on the web server, not on your phone or laptop. When you open a page, PHP fetches things from a database (your basket, a news article, a tax form), puts the page together, and sends it to your browser. Its mascot is a blue elephant, the "elePHPant".

It powers WordPress, Drupal, Joomla and MediaWiki (the software behind Wikipedia). It's also behind a huge number of council, ministry and university sites, which is why governments were hit so hard.

Everyday comparison

Think of the web as a city's restaurants. Your browser is the dining room. PHP is the kitchen at the back, cooking every page to order. PHP2Shell was a flaw in the standard kitchen design used by roughly 7 in 10 restaurants. It wasn't one bad chef. It was the floor plan itself.

That's why a page as simple as "Hello World" on an affected PHP version could be at risk. The problem was in PHP itself, not in any one website's code.5

69.2%of websites with a known server-side language use PHP (W3Techs, 26 Oct 2026)89
2012PHP 5.4, the oldest version Wiz found affected. "Nearly every PHP version is affected"5
~$973kapproximate yearly budget of the PHP Foundation70
1 + 14one full-time employee plus 14 mostly part-time contractors (Executive Director Elizabeth Barron)70

Three warnings that came and went

The core idea behind PHP2Shell is simple: what happens when PHP runs out of memory halfway through a job? If it stops abruptly, it can leave half-finished work lying around, and later code may trust that mess. People had noticed this risk before.

04 2004 Stefan Esser finds a memory_limit RCE Fixed in 4.3.8 CVE-2004-0594 19 2019 / 2020 Bug #78876: long upload fields run PHP out of memory Treated as a crash not a takeover 24 2024 First external audit (Quarkslab) core dev spots "first signs" 3 fixes, no agreement stalled ~2 years 26 2026 AI-assisted researchers prove full takeover PHP2Shell fix touches ~200–390 files Same family of weakness, three human sightings, one AI-assisted breakthrough
Sources: 2004 advisory25; bug #78876204; 2024 audit32223; file counts2418.
2004 · The first sighting

On 14 July 2004, German researcher Stefan Esser (e-matters) published an advisory. He showed that a remote attacker could trigger PHP's memory_limit cut-off at an unsafe moment, leaving data half set up, and use that to run their own code. It was fixed in PHP 4.3.8 (CVE-2004-0594).25

Calif says Esser never published his exploit, and that this 2004 research was the starting clue for the 2026 hunt. Fittingly, Calif credits Esser with introducing them to the PHP Foundation's security engineer.4

2019/2020 · The second sighting

PHP bug #78876 showed that very long variables in a file-upload form could push PHP out of memory and leave cleanup undone.20

Sources disagree: Dead Neurons dates it to 2019 (CVE-2019-11048). Calif says 2020.204 Either way it was treated as a reliability problem, not a takeover risk.
2024 · The near miss

PHP's first external security audit was carried out by Quarkslab, coordinated by OSTIF and paid for by Germany's Sovereign Tech Agency. While fixing one of its findings, a PHP core developer "found the first signs" of the out-of-memory problem.3

Three fixes were proposed. One broke old code, one created a new way to crash sites, and one needed changes to thousands of add-ons. Because the team decided by consensus, nothing was agreed for months.23

"We won't pretend otherwise: the delay was a structural failure."PHP Foundation, explaining why the 2024 finding was never fixed. It blamed "both the security team's decision process and its lack of resources."236

Mihail Kirov, now at Tolmo, was on the 2024 audit team. He says the audit ran for 57 days with five people, and that its report noted "due to the time constraints of the audit, automated fuzzing was not utilized". One page of the report was withheld with the note "details to be shared after fixes are applied; fixes are complex and in progress". It stayed that way for about two years.22 The Wall Street Journal summed it up: this class of bug "had been flagged decades earlier" but was considered too hard to exploit.18

02 · The bug, explained without code

Two kitchen accidents

You don't need to read code to follow this. Both flaws come from one habit. When PHP runs out of its memory allowance, it stops on the spot instead of tidying up. Half-finished work gets left behind, and later steps trust it as if it were complete.933

CVE-2026-109618 · "RCE via OOM corruption"

The order slip abandoned mid-sentence

Picture a waiter writing an order slip. The kitchen suddenly runs out of counter space and everyone drops what they're doing. The half-written slip stays on the spike, and later the kitchen reads it as a finished order. If a stranger can arrange for that to happen, the "order" the kitchen follows can be theirs. In computer terms, that means their code runs on the server.3

The PHP Foundation warned that on some common setups this could happen "before any application code runs". In other words, the website's own code never gets a chance to defend itself.3

CVE-2026-109619 · "RCE via stale global state"

The hotel key that still opens the room

IBM's Patrick Fussell put it best: "Think of a hotel room where you check out, but your key still works."19 After a crash, PHP keeps internal "keys" pointing at memory from a previous visitor's request. The next request handled by the same worker can walk into that room and find what was left behind, such as passwords, login tokens or keys. Programmers call this a use-after-free.3

From one request to a takeover, in four boxes

1 · A strangersends a web request,no login needed 2 · PHP tripsstops abruptly andleaves a mess behind 3 · "Shell"the stranger's commandscan run on the server 4 · Damagesteal data, deface,hide a backdoor A concept sketch, not a recipe. Real-world attacks proved much harder than the hype suggested (see chapter 08).
Severity

PHP rated both bugs 9.2 out of 10 (CVSS v4). The leak wrongly claimed 10.0. Wikipedia lists CVSS 3.x scores of 9.8 and 8.1.242

The fix

PHP turned its memory limit into a "soft" warning and added a separate hard ceiling at which the process is simply stopped. That way it never limps on in a broken state. The change touched an estimated 200 to 390 files, depending on the source.2418

Bug number three

On 23 Oct a related flaw, CVE-2026-115560, was disclosed. It affects even the patched releases and is due in the next regular update, not an emergency one. Agencies pointed to a temporary configuration workaround in the meantime.1021240

Why the name? "PHP" plus "shell", hacker slang for a command line on someone else's computer. Put together, it means "from a PHP web page to control of the whole server." Wiz Research coined it.51

03 · The AI angle

Did a robot really find it?

PHP2Shell was billed as one of the first world-scale bugs found with frontier AI. The truth is more interesting: humans pointed the AI in the right direction, and the AI did the heavy lifting at a speed people couldn't match.

The relay race: four teams, overlapping discoveries

30 JulAugSepOct16 Oct Calif · Ryan Austin · GPT-5.6 Solfound 1 Aug · reported 11 Aug Wiz · Gemini 4 Argon + GPT-5.6 Sol + Atlas19 Aug → 24 Aug OpenAI Codex Securitymore vectors 18 Sep Chainguard
Dates from Calif4, Wiz5, the PHP Foundation3 and The Register7. Socket says OpenAI also reported the same root cause on 11 Aug, while the Foundation dates OpenAI's report to 18 Sep.6
Calif × OpenAI "Patch the Planet"

OpenAI launched Patch the Planet on 22 June 2026. It gives security teams access to its Codex Security tools and API credits so they can find and fix bugs in open-source software.91 On 30 July it invited the small red-team firm Calif to look at PHP.4

Researcher Ryan Austin worked with an "LLM companion" and a code-review agent, starting from Esser's 2004 clue. Calif says "no special harness or restricted-access models" were used, and adds: "No model is simply capable of unearthing 'all bugs' with simple prompts."4 OpenAI says the model was GPT-5.6 Sol.92

Wiz × Google Gemini

Wiz Research (Sagi Tzadik, Shir Tamari, Nir Ohfeld and Tomer Schwartz) started on 19 Aug. They confirmed takeovers of Drupal and then WordPress within two days, and reported on 24 Aug.5 They used their own tool, Atlas, together with Gemini 4 Argon and GPT-5.6 Sol. Gemini's contribution to building and checking the attack was "particularly significant".5

Wiz: "a single researcher completed in a week what previously would have taken a world-class team months of work".19

OpenAI Codex Security

OpenAI's own team, credited as "OpenAI Codex Security (Amy Burnett)", reported more ways in.31 OpenAI said: "To our knowledge, frontier AI found these vulnerabilities before attackers did" and called the episode "the defender's window in action". It predicted that "similar findings [will] increase sharply in the coming months".92

Chainguard's overnight rediscovery

On Friday 16 Oct, Chainguard was told only that "something was coming in PHP". That night, CEO Dan Lorenc says, the company found the bugs itself using a frontier model and a "basic prompt of 'find bad vulnerabilities in PHP'".7 This is perhaps the most alarming detail in the whole story: a vague hint plus AI was enough.

The debate: discovery, or very fast rediscovery?

"Yes, AI changed the game"
  • Wiz: "What AI changed was the ability to understand the weaknesses".19
  • Google DeepMind's Raluca Ada Popa: Wiz "has shown why frontier AI is a game-changer for cyber defense."5
  • Wiz co-founder Ami Luttwak called it "the most severe AI vulnerability that was ever found".18
  • Tolmo's Kirov: "finding the flaw and proving what it is worth used to be the same expensive activity. They have come apart."22
"No, humans did the hard thinking"
  • Nick Rogers (Dead Neurons): "Humans noticed the bug in 2004, 2019, and 2024." He adds that "every single piece of PHP2Shell was already sitting in the public training data" and that "unsteered AI models failed to connect the dots on their own."20
  • SmartScope: "Public materials do not establish how autonomously Codex Security operated."21
  • The WSJ noted that much of the risk assessment came from the companies involved.18
Our read: the evidence supports "AI-assisted", not "AI-discovered". Humans picked the target and the old clue. AI made it cheap and fast to turn a known weakness that everyone had shelved into a proven, working danger. The flip side is that the same speed is available to attackers.
04 · The timeline

Eighty-one days, then seventy-two hours

The fix was prepared quietly over about 11 weeks. The secret then came apart in about three days. All times are UTC; for India add 5½ hours, for Japan add 9, and for central Europe add 2.

The race on 20–21 October, at a glance

20 OCT 21 OCT 15:20HN leak 19:30PHP pre-announces ~20:00Calif video 02:00Amazon: first PoCs 03:02Cloudflare WAF 07:41Chainguard ships early 08:36ELLIO first hit 13:34–14:00Official patch 22 hours from leak to fix, while much of Europe was asleep for the middle third
Act I: the quiet weeks July to mid-October
22 Jun 2026

OpenAI launches Patch the Planet

A programme to use AI to find and fix bugs in critical open-source code.91

30 Jul

Calif is invited to look at PHP

Calif begins its audit under the programme.43

1 Aug

First breakthrough

Calif finds its first unsafe out-of-memory stopping point. On 5 Aug Ryan Austin tweets a hash of the finding, a timestamped proof that reveals nothing.4

11 Aug

PHP gets the call

Calif reports an "unconditional RCE". The WSJ says Calif CEO Thai Duong phoned Volker Dusch of the PHP Foundation that day.318 Dusch's reaction: "Oh God, what are we doing now?"18

14–15 Aug

Proof shared, proof confirmed

Calif shares a working demonstration privately. PHP confirms it.46

19–21 Aug

Wiz joins the hunt

Wiz finds its first bug on 19 Aug, confirms a takeover of Drupal on 20 Aug and of WordPress on 21 Aug. Calif reports its second bug on 21 Aug.54

24 Aug

Wiz reports to PHP

More attack routes are added to the private case.53

27 Aug

Private GitHub advisory opened

The researchers are credited under their handles.24

18 Sep

OpenAI reports further vectors

The scope of the fix keeps growing.3

21 Sep

Coordinated fix under way

Wiz says PHP acknowledged its report and began coordinating the fix. OpenAI later said the length of the wait "was necessary because the fix was quite intricate and required a major change to the PHP engine."592

Act II: the secret frays 16–20 October
Fri 16 Oct · night

Chainguard gets a hint and finds it in one night

One of the researchers told Chainguard "something was coming in PHP". Its AI found the bugs overnight.7

17 Oct

The ghost probe

Amazon's MadPot honeypot logs an exploitation attempt from a commercial anonymisation network. That was four days before the public was told. The Hacker News reports that the IP address traces to Australia; Amazon's own blog doesn't name a country.89 The same day, Chainguard starts working with the PHP maintainers.7

Mon 19 Oct

Rumours start

Lorenc: "And then on Monday, the rumors started, and yesterday it just spiraled."7

Act III: the 24 hours that broke the embargo 20–21 October, UTC
20 · ~15:00
The CVE numbers begin circulating with a wrong release time and a wrong score of 10.0. The PHP Foundation: "No technical details leaked."3
20 · 15:20
"Tell HN: 2x PHP RCE CVEs with CVSS 10.0 Incoming" is posted by petecooper on Hacker News.26
20 · after
watchTowr publicly confirms the bugs are real, calling itself "the first in the industry to do so" and noting "we were all supposed to wait until Thursday at 11am ET."15
20 · 19:30
PHP publishes its pre-announcement and moves release day forward from 22 Oct to 21 Oct, 14:00 UTC. "Moving the release forward by one day was the best compromise".372
20 · ~20:00
Calif "mistakenly published a video" of its demonstration working against many targets. It is deleted, but copies spread on social media.3
20 · 20:15
The biggest Hacker News thread opens, with 1,559 points and 659 comments.28
20 · ~23:00
Mitigation advice sent privately to some critical-infrastructure providers "may have leaked as well."3
20 · late
Security vendors in the private group report attacks in the wild, according to Lorenc. He decides to ship fixes.67
21 · 02:00
Amazon sees its earliest proof-of-concept attack attempts, then more over the next six hours from other anonymised sources. Its assessment: "multiple actors."8
21 · 03:02
Cloudflare switches on emergency firewall rules by default, even for free plans, "about 9 hours ahead of public disclosure."12
21 · 07:41
Chainguard publishes fixed builds, "more than six hours before the coordinated release."3
21 · 07:43
Cloudflare reports early attacks.94
21 · 08:36
ELLIO's sensors see their first PHP2Shell request: a 51-request burst lasting nine minutes.13
21 · 13:05
Previdian records its first exploit event.11
21 · 13:34
GitHub advisories go live, 26 minutes early.2
21 · 14:00
Official release: PHP 8.5.12, 8.4.27, 8.3.36, 8.2.35. Patches for older 7.4, 8.0 and 8.1 come as source code only.374 Volunteer Ondřej Surý ships ready-made packages for every branch from 5.6 to 8.5.97
21 · afternoon
CISA: "has not observed successful exploitation… as of the time of publication". The NSA advises going offline if you can't update. The UK NCSC, CERT-EU, Canada, Singapore and Australia all issue alerts.386739
21 · 14:38
ELLIO sees a Mirai botnet loader. By 23:00 it has logged 743 requests from 33 IP addresses.13
21 · evening
The lights go out. Government sites in the Netherlands, Finland, France, Germany, Belgium, Denmark, the UK, Canada and Japan go offline. Japanese games enter emergency maintenance from 23:00 JST (14:00 UTC).5261
Act IV: the aftermath 22–26 October
22 Oct

"Millions now"

Cloudflare CEO Matthew Prince posts the growth figures on X. Japanese banks, airlines and railways suspend some online services. VulnCheck has a working exploit for its paying customers by 01:30 ET.376595

22 Oct · 10:11

The apology

petecooper posts "Tell HN: I unknowingly broke the PHP RCE embargo. I am sorry" (745 points).27

22 Oct

Pranks and fakes on GitHub

JFrog warns about fake "exploits". One just swapped the victim's wallpaper for NSFW images.33 The Register publishes Chainguard's side of the story.7 In India, the Telangana TG-iPASS portal goes down at 11:36 pm IST in a separate ransomware incident (chapter 12).47

23 Oct

A third bug, and a government claim

CVE-2026-115560 is disclosed, with no emergency fix planned.102 A UK minister says 32 government services are unavailable and 4 partly unavailable.59 Unit 42 links an attack on a European government agency to PHP2Shell.32

23–24 Oct

The North Korea report

CYFIRMA publishes, and then updates, its advisory on a suspected North Korean scanning campaign.31

25 Oct

Retraction, and a bitcoin challenge won

Unit 42 withdraws its government-attack link.32 A public "Steal My Bitcoin" challenge on a deliberately unpatched server is won. The prize was worth about $2,021.83 TG-iPASS is reported restored, although reports conflict.49

26 Oct

Where things stand

CERT-In updates its India advisory.46 No confirmed public breach so far. Most governments are back online. The third bug is still waiting for a fix.

05 · The leak

Four cracks in the dam

An embargo is like a surprise party. Everyone involved knows the date but keeps quiet so the guest (here, the attackers) doesn't find out first. PHP2Shell's party was spoiled in four separate ways within about 17 hours.

HN post20 Oct 15:20 watchTowr confirms20 Oct Calif video20 Oct ~20:00 Chainguard ships21 Oct 07:41 ? Ghost probe17 Oct …and before any of them, somebody was already testing the bug.
Crack 1 · The Hacker News post

"source: trust me, bro"

At 15:20 UTC on 20 Oct, user petecooper posted "Tell HN: 2x PHP RCE CVEs with CVSS 10.0 Incoming". It said a reliable source had told him two critical PHP flaws would be announced on 22 Oct at 18:00 CEST. It claimed all versions from PHP 5 were affected, listed both CVE numbers, and urged people to be ready to update. The sourcing line read: "source: trust me, bro".26

Within minutes another user, unreal37, replied: "This was supposed to be embargoed."26 The post was later taken down, but screenshots had already spread.14

The apology

"I unknowingly broke the PHP RCE embargo. I am sorry"

Two days later petecooper posted a public apology. Its key lines:

  • "I am truly sorry."
  • "I take full responsibility for my actions."
  • "It was not remotely my intention to cause any of the subsequent side effects."
  • "I have learned my lesson."

He said his contact had told him there was no embargo.27 Some commenters, including Colin Percival (cperciva), argued that the embargo was already broken before the information reached him. Some guessed at who the source was; nothing has confirmed it.27

Crack 2 & 3 · Confirmation and the video

From rumour to fact

Once watchTowr confirmed the bugs were real, the rumour became news.15 A few hours later Calif "mistakenly published a video" showing its demonstration working "against numerous targets". The Foundation says: "The video contributed to accelerated development of various PoCs".3 Which platform it appeared on, and how long it stayed up, has not been reported. Huntress says only that it was "briefly posted online and then removed."14

Crack 4 · The early patch

Chainguard vs the PHP Foundation

The Foundation: "Chainguard unilaterally broke the embargo and published built images containing the fix… This disregarded weeks of work by many parties toward a coordinated disclosure." It added: "Any attacker could now study the fix in binary form while every other PHP user was still waiting for the release."36

Dan Lorenc: "I made the call to get these out early when exploits hit in the wild." Also: "It's coordinated vulnerability disclosure, unless there's evidence of active exploits in the wild." And: "I'm sorry that my decision led to even more stress for them."67

Unresolved: Lorenc says Chainguard "didn't leak", but he hasn't named the vendors or published the evidence of attacks he cited. Foundation board member Nils Adermann said: "There were no confirmed exploits."67
The mystery · 17 October

Who knew four days early?

Amazon's MadPot is a huge network of fake servers set up to attract and record attackers, a bit like a decoy house wired with cameras. On 17 Oct it caught an attempt to use PHP2Shell, before the leak and before Chainguard's release. Amazon CISO CJ Moses: "The exploit attempt originated from an IP address associated with a commercial anonymization network". He added: "While the vulnerability was under embargo, the targeting of a honeypot from an anonymized IP address suggests the activity was conducted by a threat actor." Amazon says "it remains unclear how the actor acquired exploit information prior to disclosure". An Amazon spokesperson said "there was no evidence" it was harmless.89

Moses's one-line lesson: "An embargo protects defenders only until someone else finds the same bug."8

05½ · The three big questions

How did attackers know? Why unplug to patch? Why could people still lose out?

These are the three questions readers ask most. Here are the answers, built only from what's been reported.

Question 1

How did the hackers find out about a secret bug?

There was no single moment when "the hackers were told". Information reached them through five channels, roughly in this order:

1 · Old clues2004, 2019/20, 2024research was public(years) 2 · The ghostsomeone tested iton 17 Oct: unknown how(4 days early) 3 · The leakHN post + watchTowr"PHP RCE is real"(20 Oct 15:20) 4 · The videoproved it works andhinted where to look(20 Oct ~20:00) 5 · The patchcompare old vs newcode = a treasure map(21 Oct 07:41 & 14:00) Each step made the next one easier. AI shrank the gap between "a hint" and "a working attack".

The hint was enough

Once the world knew that PHP had two critical remote-takeover bugs, and roughly where to look, skilled people (and AI tools) could go hunting. Chainguard proved how quickly: given only "something was coming in PHP", it rediscovered the bugs in one night.7 OpenAI's Clint Gibler watched it happen: "a rumor/leak started Tuesday, and then immediately people everywhere began their own vuln hunting".16

The video helped

The Foundation says Calif's accidental video "contributed to accelerated development of various PoCs".3 It proved the attack was real, which is a strong motivator.

The fix itself is a map

This is the counter-intuitive part. Publishing a fix tells attackers what was broken. Comparing old and new code (a "patch diff") points straight at the weak spot. That's why the Foundation was angry that Chainguard's early builds let "any attacker… study the fix in binary form while every other PHP user was still waiting".3 Amazon: "AI-assisted analysis makes it cheaper to turn a patch diff or advisory into a working exploit".8

The ghost remains a mystery

Nobody has explained the 17 Oct probe. It could be a leak from inside the large private group, or someone who found the bug independently. Amazon: "it remains unclear how the actor acquired exploit information prior to disclosure".8

Analogy: a bank says "two of our vaults have a faulty lock; new locks arrive tomorrow". Even without blueprints, burglars now know which building to case. And once the new locks are fitted in public, anyone can see what changed.
Question 2

If a patch existed, why did sites have to go offline to apply it?

A patch isn't a magic button. For a government running hundreds of sites, "applying it" means a chain of jobs, and attacks were already arriving while that chain was being worked through.

  1. Find every PHP site. Big organisations often don't know them all. The NCSC warned: do "not limit discovery to outdated PHP versions".39
  2. Get the right fix. Easy for PHP 8.2 to 8.5. For older versions there were only source-code patches, a volunteer's packages, or nothing at all.7497
  3. Test it. An upgrade can break an old council form or payment page.
  4. Deploy and restart every server, then check that the new version is really the one running.
gov.example · Public services CLOSED FOR LOCK CHANGE

A site that's switched off can't be attacked. So the safest order was: unplug → patch → check → plug back in. That's exactly what agencies advised. The NCSC said consider "taking the system offline until it can be fully mitigated"39, and KISA said "If even temporary measures are difficult, stop the service."64 Finland's Valtori shut off incoming traffic first and began installing patches around 18:00.53 Canada's minister: "Affected websites will be restored once patches are applied."42

Why so many at once? The bug was in PHP itself, so every PHP site an organisation ran was affected at the same moment. The patch also arrived at 14:00 UTC, evening in Asia and late afternoon in Europe, with attacks already climbing. For many teams, a few hours of planned downtime was cheaper than the risk of a breach.
Question 3

If it was patched, why could some people still lose out?

First, the facts: as of 26 Oct there was no confirmed public breach through PHP2Shell. One claimed government case was retracted.32 But "patched" doesn't automatically mean "safe", and some losses were real. Here's why:

🚪 Burglars already inside

Patching changes the lock but doesn't remove someone who got in earlier. Attempts began on 17 Oct, before any patch existed. That's why the NCSC and Amazon say to check for backdoors going back to 17 Oct.398

🔑 Copied keys still work

One bug could leak server memory, including passwords and keys. If those were copied before the patch, they keep working until they're changed. Hence the advice to rotate secrets.9486

🔄 "Patched" but not really

The new version only protects you once PHP is fully restarted and the right configuration is in use. A half-done update leaves the old, vulnerable code running.30

🧓 Too old to patch

PHP 5.4 to 7.3 got no official fix. Bitsight found only about a third of the PHP versions it identified were covered by the update. Forgotten old servers stay exposed.7475

3️⃣ A third bug

CVE-2026-115560, disclosed on 23 Oct, affects even fully patched releases, and a fix is waiting for the next regular release.102

⏸️ The cost of switching off

The shutdowns themselves were a real loss. Dutch citizens couldn't use DigiD, Japanese bank and airline services were limited, schools lost Aula and Smartschool, and two long-running Japanese games announced shutdowns over the issue.516562

Two smaller, concrete "losses": the Steal My Bitcoin challenge, a deliberately unpatched server, lost its ~$2,021 prize on 25 Oct, which showed the attack can work against old code.83 And curious people who ran fake "exploits" from GitHub got pranked.33

06 · The global response

The day governments unplugged themselves

The most unusual part of PHP2Shell is that the sites went dark because their owners switched them off, not because hackers knocked them down. It's like closing the shop and pulling down the shutters while a locksmith changes the locks.

The blackout board

NetherlandsFinlandFranceGermanyBelgiumDenmark CzechiaUnited KingdomCanadaJapanAustralia*Nepal United StatesSouth KoreaSingaporeIndiaPolandAustriaChina Some government or major public sites taken offline Urgent advisories; no major government shutdowns found in reporting *cyber.gov.au itself went offline
Built from the country reports below. "Not found" means our research couldn't find reporting, not that nothing happened.

🇪🇺 Europe

EUCERT-EU ADVISORY

Advisory 2026-018, 20 Oct: "patch affected assets immediately… Only an update fully fixes these vulnerabilities." If patching isn't possible, isolate internet-facing apps.40

NLNetherlands OFFLINE

On 21 Oct, Overheid.nl, MijnOverheid.nl and DigiD (the national login) went offline as a precaution. So did the parliament's site and NCSC-NL's own site, along with the Port of Rotterdam, the football association KNVB, the five largest parties' sites and many hospitals. NCSC: "There are currently no signals that the vulnerabilities are being actively exploited."5152 Prime Minister Rob Jetten said he was "closely monitoring the situation".19

FIFinland OFFLINE

Valtori, the state ICT centre, shut off incoming traffic. That took all government public web services offline. It said this was a precaution, not an attack. Patching began around 18:00 local time. Valtori "found no exploitation attempts".5352

FRFrance OFFLINE

"À la demande de l'Anssi" (at the request of ANSSI, the national cyber agency), the Interior Ministry put prefecture websites into preventive maintenance. Impots.gouv.fr, the CNIL (data regulator) and Météo-France also paused for a while. Orange blocked several subsidiaries' PHP sites.5463

DEGermany OFFLINE

BSI set warning level 3 / Orange and said disconnecting the web server from the internet until it is patched "may be considered". ITZBund took several federal sites down as a "purely preventive" step. Berlin's Charité hospital, the Berlin fire brigade, Uni Potsdam and mainz.de were also offline.5552

BEBelgium OFFLINE

The foreign ministry, Flemish government sites, e-ID, university hospitals (UZA, UZ Gent, UZ Leuven), the school platform Smartschool, broadcaster VRT and helplines' chat services all went offline. The CCB (the national cyber centre) said going offline was "a decision for each company or organisation itself" and knew of no incidents.56

DKDenmark OFFLINE

Kombit closed several services, including Aula, the national school communication platform. (The earlier short version wrongly placed Kombit in the Netherlands.)572

CZCzechia OFFLINE

NÚKIB told operators to update as soon as possible because exploitation instructions were public. Government sites were reported offline.2

AT · PLAustria & Poland ADVISORY

CERT.at: "every PHP installation that processes web requests is affected."104 CERT Polska warned that configuration changes only reduce the risk; only an update fully protects. Not found: Polish shutdowns. For Ireland, the other Nordic countries, Spain, Italy and Ukraine, no agency statements were found.

🇬🇧 United Kingdom

GBNCSC guidance PATCH OR UNPLUG

The flaw "may allow attackers to execute commands on any web server running PHP". "Organisations using any version of PHP are affected." Consider "taking the system offline until it can be fully mitigated", and check for backdoors even after patching.39

GBWhat went dark OFFLINE

A minister, Elizabeth Lloyd, told Parliament that 32 government services were unavailable and 4 partly unavailable.5919 The Edinburgh and Oxford council sites and the Metropolitan Police site were unavailable. Bristol, Lambeth and Barnet showed errors.58 The Office for Budget Responsibility went offline "in view of the critical security issues affecting PHP".

🌎 North America

USUnited States ADVISORY

  • NSA: "all organizations using PHP for their systems are advised to be prepared for an update." It advised going offline if you can't update.672
  • CISA: it had "not observed successful exploitation… as of the time of publication", and said to take systems on PHP 8.1 or older offline until patched.38
  • FBI: the flaws could allow attackers "to remotely execute code in PHP core, potentially compromising sensitive data and networks".68
  • KEV catalogue (CISA's list of known exploited bugs): no addition found as of 25 Oct. No federal sites were reported offline.103

CACanada OFFLINE

The Cyber Centre issued alert AL26-026: "Internet-facing PHP servers and applications are at heightened risk."41 Some Government of Canada sites went offline. Minister Evan Solomon said this was to "protect government systems and Canadians' information", and "Affected websites will be restored once patches are applied." Montreal's transit agency STM and the liquor board SAQ also went offline.42

🌏 Asia-Pacific

JPJapan OFFLINE

Prime Minister Sanae Takaichi posted on X: "Please check if your publicly available websites use PHP, and prepare to apply the fix patch that will be released tonight".19 The National Cybersecurity Office asked for action "as soon as possible".60

  • Government: the Ministry of Finance, Japan Meteorological Agency and National Tax Agency restricted or suspended services.63
  • Banks: MUFG, Mizuho, Nomura and Shizuoka Bank suspended some online services.6563
  • Travel: ANA (airline) and JR East (railway) restricted some internet services.65
  • Shops and companies: 7-Eleven Japan, Tokio Marine and Asahi paused some sites.6563

JPJapan's games 🎮 MAINTENANCE

Cygames put Umamusume, Granblue Fantasy and Shadowverse: Worlds Beyond into emergency maintenance from 23:00 JST on 21 Oct. Umamusume was back by 02:30.61 pixiv, BOOTH, Princess Connect! Re:Dive, Pokémon Champions and Another Eden were back by noon on 22 Oct. Bushiroad, SEGA, Square Enix, the Sony Store and Takara Tomy were still in maintenance at that point.62 Two long-running games announced they would shut down altogether, citing the issue.

KRSouth Korea ADVISORY

The Science Ministry (MSIT) and KISA issued an advisory on 21 Oct and guidelines on 22 Oct. The headline message: "If even temporary measures are difficult, stop the service." Operators were told to check logs from 20 Oct onward and report anything odd to the 118 hotline. The private-sector cyber alert level was raised. Not found: named Korean sites taken offline.6463

SGSingapore ADVISORY

CSA alert AL-2026-151: "Attackers can exploit multiple critical vulnerabilities in PHP to achieve unauthenticated remote code execution." It urged "immediate action, prioritising internet-facing systems." Not found: sites taken offline.43

AUAustralia OFFLINE

The ACSC issued a critical alert on 21 Oct, saying it wasn't aware of active exploitation.44 In a twist, the government's own cyber advice site cyber.gov.au went offline.45

NP · CNNepal & China

Nepal: thousands of websites went offline, including the central bank, Nepal Rastra Bank.90 China: MIIT recommended checks and patching, and Tencent Cloud urged customers to update.63

🌐 The big websites

WWikipedia / Wikimedia

The Wikimedia Foundation "taken down a number of other systems as a precautionary measure" until they could be patched. Parts of Wikipedia were briefly unavailable.5266

IAInternet Archive

Briefly offline on 21 Oct.2

44chan & Something Awful

4chan went "temporarily read-only while we await an urgent PHP security update". Something Awful shut its forums. Pinboard and DeviantArt were also down.66

WPWordPress hosts

Automattic (WordPress.com and others) said its sites were already protected.87 WP Engine and Pantheon patched their whole platforms. cPanel and CloudLinux shipped fixes for older PHP versions.96

CFCloudflare, Fastly, Akamai

Cloudflare put emergency firewall rules in place for every customer, including free plans. Its CTO said: "We are seeing early attacks emerging and are updating mitigations as new vectors show up."1266

⚠Even the dark web

Underground forums Exploit.in and Dread had to patch their own PHP servers.76

07 · The people

Who's who: the cast of characters

The story has finders, fixers, an accidental leaker, a defiant CEO, a volunteer hero, and a ghost.

The finders

RA
Calif · first finder
Ryan Austin

Found the first flaw on 1 Aug with GPT-5.6 Sol, starting from a 2004 clue.4

"They do not reliably begin with obscure twenty-year-old exploitation primitives." (on AI models)20
TD
Calif · CEO
Thai Duong

Phoned the PHP Foundation on 11 Aug. He worried about what would happen once patches were public:18

"Some dude on Twitter could take the patches and run AI against it and post some exploit script… All hell will break loose."
W
Wiz Research · the namers
Sagi Tzadik, Shir Tamari, Nir Ohfeld, Tomer Schwartz

Found more attack routes with Gemini 4 Argon, GPT-5.6 Sol and their own Atlas tool, and named the bug "PHP2Shell".5

Wiz called its exploit "at the edge of what human researchers could practically achieve".19
AB
OpenAI Codex Security
Amy Burnett

Credited on the official advisory and php2shell.com for reporting more vectors. We found no public quotes from her.31

SE
The original 2004 finder
Stefan Esser

Published the 2004 memory_limit advisory that started it all. In 2026 he connected Calif with the PHP Foundation.254

MZ
The illustrator
Michal Zalewski (lcamtuf)

A well-known security researcher who drew the PHP2Shell poster and comic for Calif.4

The fixers

VD
PHP Foundation · security engineer
Volker Dusch

Release manager for PHP 8.5, and the person who took Calif's call.18

"It is the most severe security issue that PHP has faced in more than a decade."
EB
PHP Foundation · executive director
Elizabeth Barron

The Foundation's only full-time employee, working alongside 14 mostly part-time contractors.70

"Given that reliance, it is clear that PHP is incredibly under-funded."
AD
PHP security team
Alexandre Daubois

Wrote the most widely shared post correcting the rumours: the real score, which workaround helps which bug, and how big the fix was.24

OS
The volunteer hero
Ondřej Surý

Maintains the widely used deb.sury.org PHP packages for Debian and Ubuntu. On 21 Oct he shipped patched packages for every branch from 5.6 to 8.5, including seven end-of-life branches. He also pushed back on viral claims that old versions couldn't be fixed.972

NA
PHP Foundation board
Nils Adermann

Co-creator of Composer, PHP's package manager. He rejected Chainguard's reason for releasing early.6

"There were no confirmed exploits."

The catalysts & commentators

PC
The accidental leaker
petecooper (Hacker News)

Posted the warning two days early. He says he didn't know about the embargo.27

"I take full responsibility for my actions."
DL
Chainguard · CEO
Dan Lorenc

Shipped fixes six hours early and defended the decision.7

"I think this is kind of the new normal."
MP
Cloudflare · CEO
Matthew Prince

Gave the clearest numbers on how fast attacks grew. To Reuters:37

"I think we're going to have a year or two where every week it feels like the sky is falling".
CJ
Amazon · CISO
CJ Moses

Revealed the 17 Oct ghost probe.8

"The time from patch to working exploit is shrinking for structural reasons".
AM
FIRST (incident-response forum)
Art Manion

A veteran of vulnerability disclosure.16

"This leads us to reconsider the risk reduction value of long coordinated vulnerability disclosure embargoes".
?
The ghost
Unknown actor, 17 Oct

Probed Amazon's decoy servers through an anonymising network four days before disclosure. Still unidentified.8

In their own words

"But seriously: patch."

Calif's write-up4

"We predicted this could happen, but it was pretty crazy to observe in real time."

Clint Gibler, OpenAI16

"It seems a little bit more complicated than expected to exploit."

Thomas Caspers, BSI (Germany)34

"The exploits being sprayed indiscriminately either don't work at all"

Jake Knott, watchTowr34

"Yet given how much of society depends on it, too little funding goes into maintaining it."

Erik Möller, Sovereign Tech Agency69

"We take this situation extremely seriously"

Evan Solomon, Canadian minister42
08 · The threat actors (news level)

From a trickle to a flood

First, to be clear: the people who found PHP2Shell were the good guys. The "threat actors" are the people who rushed to use it once it leaked. Here's what reporting says about who they were and how fast they grew. It's kept at headline level on purpose.

Attack attempts on Cloudflare's network

10³10⁴10⁵10⁶ thousandstens of k100s of kmillions 10 h before+45 min+2 h"now" (22 Oct) Bars show Prince's words on a log scale, not exact counts
Matthew Prince on X: "In the 10 hours before it was publicly announced… we saw thousands of attempts to exploit it. That jumped to tens of thousands in the 45 minutes post announcement, hundreds of thousands within 2 hours, and millions now."3768

How many servers were exposed?

VulnCheckModatUnit 42CensysBitsight 2.6M hosts4.38M services22.6M34.4M37M Each firm counted something different, so these don't contradict each other
VulnCheck, Modat (about 79% of services on unsupported versions), Unit 42, Censys (later revised) and Bitsight. Qualys separately estimated about 110 million instances on end-of-life versions.11351775
The ghost · 17 Oct

One quiet early probe

A single attempt on Amazon's decoy servers, sent through a commercial anonymisation network. No actor has been named. It's the only sign that someone may have had inside knowledge (see chapter 09).8

Suspected North Korea

CYFIRMA's "staging" campaign

Threat-intelligence firm CYFIRMA reported a suspected North Korean state-linked operation. It used 21 hijacked scanning servers and narrowed its list to 216 target hosts. Targets included government, banks, ports, aviation, manufacturing and trading platforms in the US, Japan, South Korea, Thailand, Indonesia, Australia, Taiwan, India, Singapore, the UAE, Saudi Arabia and the EU.31

CYFIRMA gave moderate confidence to a link with the wider Lazarus ecosystem. That rests on language and working style, with no shared infrastructure or malware. Its words: "No launch date has been stated." Amazon made no nation-state attribution, and no government has confirmed one.3110

The swarm

Many hands, mostly failing

Chainguard's decoys caught traffic from China and Russia.7 ELLIO saw senders on Chinese, Hong Kong, Indian and European hosting networks, carrying test web shells, a remote-access tool and a DDoS kit.13 Fastly counted about 250,000 requests from about 3,200 IPs by midday on 22 Oct. That figure includes defenders scanning their own systems.36 Pantheon blocked more than 60,000 suspicious requests on day one.9

Botnets & pranksters

Old gangs, new trick

Sophos saw operators of "Potassium", a variant of the Mirai botnet, try PHP2Shell. The attempt was blocked, and Sophos corrected an earlier report that it had succeeded.34 On GitHub, fake "exploits" appeared, including one that only changed the victim's wallpaper to NSFW images.33 Underground forum users mocked most public exploit code as "AI slop", posting: "PoC yes. RCE no."76

Did anyone actually get breached? As of 26 Oct, no confirmed public case. Palo Alto's Unit 42 linked an attack on a European government entity to PHP2Shell, then retracted it: "We are unable to confirm that initial access is associated with the specific PHP2Shell CVEs."32 Hunt.io tracked 123 targeted servers and found none exploited.34 Amazon, however, says "PHP2Shell is now being broadly exploited in the wild", so attempts are widespread even though confirmed successes are not.34
09 · Conspiracy corner 🕵️

Every theory, put on trial

These ideas circulated on Hacker News, X, Mastodon and blogs. Each gets a verdict, the evidence on both sides, and a bar showing how well it holds up. The bars are our editorial judgement, not a measurement.

Unsolved

"Someone had inside knowledge before the leak"

ForThe 17 Oct probe came four days before disclosure. It was sent through an anonymiser, and Amazon can't explain how the actor knew.8
AgainstIndependent rediscovery is very plausible. Chainguard did it in one night from a vague hint. Art Manion calls this "yet another example of independent co-discovery".716
weakstrong
No evidence

"AI companies leaked it on purpose for hype"

ForThe slick branding, website and model credits. HN user chinathrow: "this looks like they used this for a PR stunt". Techrights called it a "Paid-for FUD Campaign".2998
AgainstThe leak came from an individual who apologised. Calif says it was unpaid: "we're not being paid for this work." No reporting ties an AI firm to the leak.2730
weakstrong
Partly true

"Chainguard broke the embargo to help its customers"

ForIt released six hours early. The Foundation calls that "unilateral", and Lorenc doesn't dispute the timing.3
AgainstThe builds were public, the embargo was already broken, and Lorenc cites attacks overnight. But no evidence of those attacks has been published.67
weakstrong
Mistake, not a stunt

"The Calif video was a PR stunt"

ForIt was published, then deleted, and copies spread. HN user giancarlostoro: "they really fumbled this for the sake of having a PR post".29
AgainstThe Foundation itself says it was published "mistakenly". No source says it was deliberate.3
weakstrong
Mostly true

"They knew in 2024 and ignored it"

ForThe 2024 audit found the same class of flaw in the same part of the engine. The Foundation admits a "structural failure".2223
Against"Ignored" is too harsh. Nobody had shown a takeover, every proposed fix had a serious cost, and the team was tiny.23
weakstrong
Exploiters, not authors

"North Korea is behind the whole thing"

ForCYFIRMA reports a suspected North Korean campaign targeting unpatched hosts.31
AgainstAt most, they used a bug that had already leaked. The Lazarus link is only "moderate", and there's no government attribution.3110
weakstrong
No evidence

"It's a planted spy-agency backdoor"

ForThere are past precedents, such as the Dual_EC_DRBG affair and the 2021 php.net code-server compromise, so suspicion isn't unreasonable.73
AgainstHackerNoon: "There is no evidence PHP2Shell is a planted backdoor, and the circumstantial evidence points the other way". These are ordinary C memory mistakes in error handling.73
weakstrong
Exaggerated

"Much of the web is now permanently hackable"

ForPHP 5.4 to 7.3 get no official fix. Bitsight says only about a third of the versions it identified are covered by the update.7475
AgainstOndřej Surý, cPanel and CloudLinux shipped fixes for old versions. The real problem is people who never update.9796
weakstrong
Retracted

"A European government was hacked through PHP2Shell"

ForUnit 42's 23 Oct report linked a government intrusion to PHP2Shell.32
AgainstOn 25 Oct Unit 42 retracted the link. Every government shutdown we found was described as precautionary.3253
weakstrong
Opinion

"Big Tech colluded to delay the patch"

ForOne HN commenter (charcircuit) called the delay "big tech players all colluding".28
AgainstThe 11-week delay is explained by how complex the fix was ("a major change to the PHP engine") and by the team's limited resources.923
weakstrong

One theory we looked for but couldn't find any source for: "the leak was a deliberate test". No outlet or forum post we could find makes or supports it.

10 · What the forums said

The internet talks about the internet

Hacker News was the centre of gravity, since the leak itself happened there. Here are the biggest threads, the funniest moments, and the debates that kept coming up.

1,559points on the main HN advisory thread (659 comments)28
745points on petecooper's apology27
634points for "There isn't an easy exploit for this PHP vulnerability"30
$2,021bitcoin prize won in the "Steal My Bitcoin" challenge on 25 Oct83

"If the rumors are true, it may be worse than Log4Shell."

bakugo, Hacker News28

"php2shell is not a log4shell moment"

zkldi, Hacker News30

"Just shut down our MediaWiki site temporarily out of an abundance of caution."

enews01, Hacker News28

"I expect it will be the death of the C codebase"

mappu, Hacker News: the memory-safety debate28

"Whoever broke the embargo is a moron."

DetroitThrow, Hacker News30

"The demo video has been going around Twitter today"

Gigachad, Hacker News28
Recurring debates
  • Is disclosure broken? User JonKF argued that in 2026 a vague hint is enough for AI to rediscover a bug fast.26
  • Who's to blame? Many said you can't blame someone for breaking an embargo they were never told about. Others said posting was unwise anyway.27
  • Memory safety: a long-running debate about whether C code like PHP's engine should be moved to safer languages such as Rust.28
  • Hype vs reality: security researcher Kevin Beaumont noted that most public GitHub exploits don't actually work, thanks to a standard memory-protection feature.77 Marcus Hutchins said he hadn't seen it working beyond a handful of versions.34
On video & abroad
  • YouTube: LiveOverflow's "The race to the first exploit // php2shell"; Better Stack's "A PHP Bug Just Took Websites Offline Worldwide"; Decipher's interview with Ben Harris; and a Japanese explainer from FindU Academy about the Prime Minister's appeal.
  • Japan (Qiita): "Vulnerability response in the AI era seems likely to become a contest of speed." The writer also joked that engineers could now justify downtime to clients with "because Takaichi-san said so".82
  • Underground forums: mocking of a $10,000 exploit-purchase offer, and complaints about "AI slop" exploits.76
  • Reddit: our research tools were blocked from Reddit and search engines returned no indexed threads, so we can't quote Reddit reliably.
11 · Family resemblance

PHP2Shell vs Heartbleed vs Log4Shell

Every few years one bug in a piece of shared, free software everybody relies on shakes the whole internet. Wiz put PHP2Shell in that lineage: Heartbleed exposed fragile shared infrastructure, Log4Shell exposed hidden dependencies, and "PHP2Shell could mark a similar turning point for the AI era".5

Heartbleed (2014)Log4Shell (2021)PHP2Shell (2026)
What brokeOpenSSL, the padlock software behind HTTPSLog4j, a Java logging libraryThe PHP engine itself
IDCVE-2014-0160CVE-2021-44228CVE-2026-109618 / -109619
Everyday analogyA shop assistant who reads out more of the customer list than you asked forA diary that obeys any instruction written in itA kitchen that trusts half-written orders
Worst outcomeSecret data leaks from memoryFull takeoverFull takeover, or data leaks from memory
Severity7.5 (later CVSS 3 rating)10.09.2 (v4); leaked as 10.0
Hard part for defendersReplacing certificates and keysFinding Log4j hidden inside other productsOld PHP versions with no official fix
Found byHumans (Google, Codenomicon)Human (Alibaba Cloud researcher)Humans + AI (Calif, Wiz, OpenAI)
Funding lessonOpenSSL ran on tiny donationsVolunteer maintainersPHP Foundation: one full-time employee

Heartbleed and Log4Shell facts are from Wikipedia.99100 PHP2Shell figures are from chapters 01 to 08.

About "50% of the way" to Log4j: "worse direct exploitation" but a "shorter tail".

Marcus Hutchins, Expel35

A potential "Log4Shell-scale" event. With Log4j the challenge was finding the library. With PHP, forgotten systems will be found, but may have no fix.

Sai Molige, Forescout (paraphrased)35

Likened PHP2Shell to Heartbleed, calling it the most serious PHP security problem in over a decade.

Volker Dusch, PHP Foundation (reported)18
The new ingredient: Heartbleed and Log4Shell were found by people. PHP2Shell is the first of this scale where AI sped up both the discovery and the attackers' race to use it. The bug was found within weeks, independently rediscovered in one night, and turned into a working exploit within hours of the patch.
12 · The India angle

Advisories, targets, and one unrelated ransomware attack

India didn't see the dramatic government shutdowns that Europe did, according to the reporting we found. But it was on attackers' target lists, CERT-In issued a critical note, and the same week brought a separate ransomware attack on a Telangana portal.

CERT-In · CIVN-2026-0510

"Critical remote code execution vulnerabilities in PHP"

  • Issued: 21 Oct 2026. Last updated: 26 Oct. Organiser.org dates it 22 Oct.46101
  • Severity: Critical. Risk: High.
  • What it says: "These vulnerabilities exist in PHP due to memory corruption and improper resource control. A remote attacker could exploit these vulnerabilities by sending a specially crafted request to the targeted system."
  • Update: "Multiple reports confirm large scale exploitation in the wild, users are advised to patch urgently."46

CERT-In is India's national computer emergency response team, under MeitY. We found no separate MeitY or NIC statements and no named Indian victims. One outlet reported "no Indian victim names yet".105

India on the target list

Where India shows up in the threat data

  • India was among the priority countries in CYFIRMA's suspected North Korean target set.31
  • ELLIO saw some attack traffic coming from an Indian internet provider's network. That's common, because attackers rent or hijack servers everywhere.13
  • India has a huge PHP footprint. Many state portals, universities and small businesses run WordPress and similar systems, so the "update your PHP" message applies widely.
Separate incident

Telangana's TG-iPASS portal hit by ransomware

TG-iPASS is Telangana's single-window portal for industrial approvals. At about 11:36 pm on 22 Oct, the database server (hosted by Cloud4C) stopped connecting. Officials found the database and related files encrypted and renamed with a ".vgb" ending.4847

The ransom note left only a contact email and a machine ID, and named no amount. The Telangana Cyber Security Bureau (TGCSB) registered a case under IT Act Sections 43 and 66, on a complaint from Joint Director of Industries Sanga Suresh. A senior official admitted the existing security measures were unsatisfactory.48

On 25 Oct, Andhra Jyothy reported the portal restored, with officials saying "the information is safe on the server". Director Nikhil Chakravarthy said security was being strengthened "to prevent such incidents from recurring". Telangana Today, updated 26 Oct, still described restoration as in progress.4947

file.vgbdata.vgbdb.vgb

Is it linked to PHP2Shell? No source makes that link. None of the reports mention PHP, and the affected server is described as running Microsoft SQL Server. It's mainly a coincidence of timing.4847 Also unrelated: on 16 Oct, CERT-In and others alerted SBI to customer data on the dark web (3,897 records containing personal data, out of about 3.75 lakh analysed). SBI said there was "no material impact on its core operations".50

13 · For ordinary people & site owners

Should I worry? What should I do?

FAQ for everyone

Is my personal data at risk?
Only if a specific service holding your data was breached. As of 26 Oct, no confirmed company or government breach through PHP2Shell had been made public.8532 The bug is in web servers, not in your phone or laptop.
Do I need to update my phone or computer?
No. "You don't need to do anything on your phone or computer."84 Keeping your devices updated is still good practice in general.
Should I change my passwords?
Only if a service tells you it was breached. Using a password manager and unique passwords protects you either way.84
Why did government websites disappear?
Mostly by choice. Agencies like the UK NCSC, the NSA and Germany's BSI advised taking sites offline if they couldn't be patched right away, the way you'd shut the shop while the locks are changed.3955
I got an email saying "urgent PHP security update, click here". Is it real?
Treat it as phishing and delete it. Scammers jump on big news.84
Was AI used to attack me?
AI helped find the bug. Experts warn that AI makes it faster to turn patches into attacks, but no source has confirmed that attackers used AI to exploit PHP2Shell.8
Is it over?
Mostly, for well-run sites. A third related bug (CVE-2026-115560) still awaits a fix, and old, unmaintained sites will stay at risk for a long time.10275

✅ Website owner checklist

A plain summary of the official guidance from the PHP Foundation, NCSC, CISA, Amazon and Cloudflare. Follow your host's and your national CERT's advice first.

  1. 1
    Find out which PHP you run. Check every site, including the forgotten ones. The NCSC says not to limit the search to outdated versions.39
  2. 2
    Update to 8.5.12, 8.4.27, 8.3.36 or 8.2.35 or later. On older versions, use your host's or distribution's backport, or upgrade.397
  3. 3
    Restart PHP fully so the new version is actually running. Make sure you changed the configuration your web server really uses.30
  4. 4
    Can't update today? Put the site behind a web application firewall, or take it offline until you can. PHP says no configuration change alone covers both bugs.1274
  5. 5
    Apply the interim workaround for the third bug that your CERT or host recommends, until the next PHP release.4041
  6. 6
    Check for intruders. Patching locks the door but doesn't evict anyone already inside. Look for unexpected new files, processes and admin accounts, going back to 17 Oct.839
  7. 7
    Rotate secrets such as database passwords, API keys and app keys once you've finished checking, because one bug can leak server memory.8694
  8. 8
    Ignore random exploit code on GitHub. Some of it is fake or malicious.33
14 · The bigger lessons

What PHP2Shell tells us about the next ten years

1 · AI vs AI

The window is shrinking

Amazon: "AI-assisted analysis makes it cheaper to turn a patch diff or advisory into a working exploit."8 Prince expects "a year or two where every week it feels like the sky is falling".37 Defenders now have to patch in hours, not weeks.

2 · Fund the foundations

Billions on top, pennies underneath

The Foundation's 2025 contributions were $730,534 from 536 sponsors, fewer than the year before.71 The Guardian contrasted its small staff with the "billions" going into AI.2 The Sovereign Tech Agency, which paid for the 2024 audit, says "too little funding goes into maintaining it."69 The Foundation is now asking companies, hosts and governments for sponsorship, and has switched from consensus to majority voting on security decisions.3

3 · Does secrecy still work?

The embargo debate

Art Manion (FIRST) says this "leads us to reconsider the risk reduction value of long coordinated vulnerability disclosure embargoes".16 InfoWorld called it a weakness in the whole system.72 The counter-argument: without the embargo there would have been no patch ready at all. The likely future is shorter embargoes, smaller circles and faster releases.

4 · Memory safety

The C question

Both bugs are the kind of memory mistake that languages like Rust and Go are designed to prevent.24 Rewriting PHP's engine isn't realistic soon, but the case for safer languages in new core infrastructure got stronger.

5 · Research is catching up

Small models can do it too

An arXiv paper from July 2026 (HoF-Bench) found that a minimal AI analyser without frontier models rediscovered up to 65 of 95 AI-found CVEs. Its misses clustered in C infrastructure code like PHP's.88 AI bug-finding is spreading fast, to defenders and attackers alike.

"An embargo protects defenders only until someone else finds the same bug."CJ Moses, Amazon CISO8
15 · Jargon buster

Glossary

PHP
A programming language that builds web pages on the server. Its mascot is a blue elephant.
PHP2Shell
The nickname for CVE-2026-109618 and CVE-2026-109619, coined by Wiz.
CVE
"Common Vulnerabilities and Exposures": an official ID number for a known security bug.
CVSS
A severity score from 0 to 10. Anything 9.0 or above is "critical".
RCE
Remote Code Execution: getting someone else's computer to run your commands over the internet.
Shell
A command line. "Getting a shell" means getting control.
Out-of-memory (OOM)
When a program uses up its memory allowance. PHP's abrupt stop when this happened is the root of PHP2Shell.
Use-after-free
A program keeps using memory it has already handed back, like a hotel key that still works after you check out.
Embargo
A private period when finders and fixers keep a bug secret until the patch is ready.
Coordinated disclosure
The process of reporting a bug privately, fixing it, then announcing it to everyone at once.
Zero-day
A bug attackers can use before any fix exists.
Proof of concept (PoC)
A demonstration that an attack really works.
Patch diff
The before-and-after comparison of a fix. Attackers study it to work out what was broken.
Honeypot
A decoy server that attracts and records attackers, like Amazon's MadPot.
WAF
Web Application Firewall: a filter that blocks bad requests before they reach a website.
Backdoor / web shell
A hidden way back in that an attacker leaves behind.
Botnet
A network of hijacked machines controlled together. Mirai is a famous family.
End-of-life (EOL)
A software version that no longer gets official updates.
Backport
Taking a fix from a new version and applying it to an older one.
CERT / CSIRT
A national or organisational cyber emergency team, such as CERT-In, NCSC or CISA.
Ransomware
Malware that locks your files and demands contact or payment, as in the TG-iPASS case.
Lazarus Group
A hacking group widely linked to North Korea.
Frontier model
One of the most capable AI models available, such as GPT-5.6 Sol or Gemini 4 Argon.
Memory-safe language
A language like Rust or Go that prevents whole classes of memory bugs.
16 · Receipts

Sources

Research compiled on 26 October 2026 from news outlets, cybersecurity press, vendor research, official agency advisories, Wikipedia, Hacker News and YouTube. This is a fast-moving story. Where sources disagree (discovery dates, release time, Cloudflare's rule timing, severity scores), both versions are given in the text. A few pages (CNBC, Reuters, The Guardian, Dark Reading, the NSA press release) blocked direct access, so facts from them came through syndicated copies or other outlets' citations. Numbers in the text link here.

  1. PHP2Shell official site (Wiz / OpenAI / Calif)
  2. Wikipedia: PHP2Shell
  3. PHP Foundation: Today's PHP security release (postmortem)
  4. Calif: PHP2Shell write-up and timeline
  5. Wiz Research: PHP2Shell
  6. Socket: The PHP embargo dispute
  7. The Register: PHP blames Chainguard
  8. AWS Security Blog: exploitation prior to disclosure in MadPot
  9. The Hacker News: exploit attempt 4 days before disclosure
  10. The Hacker News: exploitation hits government / suspected DPRK
  11. The Hacker News: exploit attempts hit millions
  12. Cloudflare: WAF protection for PHP vulnerabilities
  13. ELLIO: What we observed
  14. Huntress: leaked critical PHP vulnerabilities
  15. watchTowr: PHP2Shell
  16. TechTarget: disclosure unravels after leaks
  17. TechTarget: 22M exposed servers
  18. Wall Street Journal (via To Vima): AI just found a bug…
  19. CNN (via KEYT): government websites and PHP flaw
  20. Dead Neurons: PHP2Shell explained
  21. SmartScope: Did AI really find it?
  22. Tolmo: Faster than anyone can fix them
  23. The Next Web: "structural failure"
  24. Alexandre Daubois: PHP2Shell rumours corrected
  25. Bugtraq 2004: Stefan Esser memory_limit advisory · Red Hat RHSA-2004:395
  26. Hacker News: "Tell HN: 2x PHP RCE CVEs…" (leak post)
  27. Hacker News: "I unknowingly broke the PHP RCE embargo"
  28. Hacker News: main security-advisory thread
  29. Hacker News: PR-stunt discussion
  30. Hacker News search: PHP2Shell (threads & comments)
  31. CYFIRMA: suspected DPRK campaign
  32. Palo Alto Unit 42 (incl. retraction)
  33. JFrog: all you need to know (fake PoCs)
  34. SecurityWeek: Mirai operators join attacks
  35. SecurityWeek: exploitation started days before patches
  36. Fastly: proactive protection
  37. OfficeChai: Cloudflare CEO on thousands → millions
  38. CISA alert, 21 Oct 2026
  39. UK NCSC: critical security issue affecting PHP
  40. CERT-EU advisory 2026-018
  41. Canadian Cyber Centre AL26-026
  42. CP24: Canadian apps and government websites go offline
  43. Singapore CSA alert AL-2026-151
  44. ACSC alert · Cyber Daily
  45. iTWire: cyber.gov.au pulled offline
  46. CERT-In vulnerability note CIVN-2026-0510
  47. Telangana Today: TG-iPASS disrupted
  48. The420.in: TG-iPASS ransomware
  49. Andhra Jyothy: TG-iPASS restored
  50. Insights on India: SBI data alert · The420.in
  51. Rijksoverheid (via Open Nieuwsbank): Dutch sites preventively offline
  52. Reuters factbox (via The Star): websites taken offline
  53. Yle: Finnish government services offline · Valtori update
  54. Selectra: France live coverage
  55. Tagesspiegel (dpa): BSI warning
  56. VRT NWS liveblog: Belgium
  57. DR: Aula / Kombit
  58. Insurance Business: UK councils & Met Police
  59. The Register: dozens of UK government services out
  60. ITmedia (Japan)
  61. Famitsu: Cygames emergency maintenance
  62. Denfaminicogamer: game and service status · Game*Spark
  63. Boannews (Korea): global response roundup
  64. Hankooki: MSIT/KISA guidance · Boannews
  65. The Next Web: millions of attempts, no confirmed breaches
  66. NBC News: critical PHP vulnerabilities
  67. Philadelphia Inquirer: NSA advice
  68. Cointelegraph: Cloudflare millions / FBI
  69. Sovereign Tech Agency: investment at scale
  70. Express Tribune: PHP Foundation under-funded · BigGo
  71. PHP Foundation: Impact & Transparency Report 2025
  72. InfoWorld: weakness in coordinated disclosure
  73. HackerNoon: NSA says patch or go offline
  74. Tenable FAQ
  75. Bitsight alert
  76. Flare: underground analysis
  77. Kevin Beaumont on Mastodon
  78. YouTube · LiveOverflow: The race to the first exploit
  79. YouTube · Better Stack: A PHP bug just took websites offline
  80. YouTube · Decipher: PHP2Shell and defenders (Ben Harris)
  81. YouTube · 中村祐太のFindUアカデミー (Japanese)
  82. Qiita (Japan): developer reaction
  83. Cryptoast: Steal My Bitcoin challenge won
  84. Bluewin: what it means for you
  85. Security Boulevard: your data and credentials
  86. GitGuardian: secrets rotation
  87. Automattic: your sites are protected
  88. arXiv 2607.27030: HoF-Bench
  89. W3Techs: PHP usage statistics
  90. Kathmandu Post: Nepali websites offline
  91. CSO Online: OpenAI's Patch the Planet
  92. PPC Land: OpenAI on GPT-5.6 Sol
  93. CrowdStrike blog
  94. Sansec research
  95. VulnCheck blog
  96. cPanel · CloudLinux
  97. Warp2Search: sury.org packages · IT-Connect
  98. Techrights (opinion)
  99. Wikipedia: Heartbleed
  100. Wikipedia: Log4Shell
  101. Organiser: CERT-In alert
  102. The Register: a third PHP2Shell bug
  103. CNBC: is your data at risk
  104. Trending Topics: CERT.at (Austria)
  105. Free Press Journal: which Indian websites are affected
  106. NPR: AI found the flaw, hackers found the leak (further reading)
  107. Fortune: AI tools discovered the PHP vulnerability (further reading)