How much of the web PHP2Shell touches

PHP2Shell reaches most of the web because it lives in PHP itself, not in any one app. Sansec reports the vulnerable code dates to PHP 5.4 in 2012 and default configurations are exposed, so the risk is the language's entire footprint.

Measure

Figure

Source

Websites with a known server language that run PHP

70–80%

Kinsta, via CyberScoop

Same measure, August 2026

70.2% (65.9% among the top 1 million sites)

W3Techs, top 1M

Websites running PHP

about 24 million

BuiltWith, via Computer Weekly

Internet-exposed instances potentially vulnerable

more than 22.6 million

Unit 42, via Malware News

Exposed hosts by Shodan search

about 1.9 million

CyberScoop

Exposed hosts, researcher estimate

more than 1.3 million

CyberScoop

Version-visible servers on unsupported PHP 5.4–8.1

about 758,000

VirusTotal

Version-visible servers on supported branches

about 272,000

VirusTotal

The counts differ because they measure different things: sites versus servers, detectable versus all. The share figures cover only sites whose server language can be identified, so "70% of the web" is shorthand for that.

The viral X thread from developer fiveoutofnine put Censys's count at about 1.5 million servers on versions with no fix. It also listed Archive.org, Asana, GOG, Something Awful and the University of Vienna's webmail among the sites that went down.

The patch gap matters more than the headline share. Among servers showing their version, unsupported branches outnumber supported ones nearly three to one, and those branches get no official release.

The NSA warning is real, and the patches already shipped

The NSA warning is genuine. The agency followed its @NSACyber post with a formal release, NSA Advisory: Critical Patches Recommended for PHP Vulnerabilities. It names the flaws PHP2Shell, places them in PHP itself rather than in any hosted app or its configuration, and warns they could let attackers take over web servers with no prior access.

The formal advisory goes further than the tweet:

  • The NSA says it is prioritizing identifying malicious actors who may exploit the flaws
  • It calls the risk serious enough to require immediate patching across U.S. government departments and agencies
  • It tells organizations to inventory everything relying on vulnerable PHP versions, add logging, and replace end-of-life PHP that can't be patched
  • It still advises taking systems offline if an immediate update isn't feasible

It wasn't a lone warning. The NSA, FBI and CISA jointly urged fixes for CVE-2026-109618 and CVE-2026-109619, which let attackers run commands on a server without logging in.

The update the NSA promised is out. PHP released fixes on October 21, 2026 in PHP 8.5.12, 8.4.27, 8.3.36 and 8.2.35.

How Cloudflare responded

Cloudflare moved before the public did. Cloudflare's php2shell post says it built WAF protections starting in early October and switched them on by default for free and paid customers at 3:02 a.m. UTC on October 21, about nine hours before disclosure. Free customers don't have to do anything.

Ordinary request filters weren't enough, Cloudflare says, so it built full transaction detection, a new WAF capability that checks a request and the server's response together. A response rule can replace a leaking response with a block page before it reaches the attacker, though it can't undo anything already done on the origin server. Cloudflare made the capability available to all customers, including Free plans.

PPC Land counts seven rules in the free ruleset, seven in the paid one, and one response rule. It also flags that the attack-traffic claims come from Cloudflare, which sells the product, and that a WAF only protects traffic passing through it.

Cloudflare's own advice matches everyone else's: patch PHP and keep the WAF on as an extra layer. Laravel agency Laramate went further, recommending Cloudflare's WAF as a stopgap while Laravel Forge was temporarily unavailable.

How the disclosure unraveled

A leak forced PHP to ship a day early. CyberScoop reports the project rushed an unscheduled release after details leaked and a major infrastructure company saw early attacks; both flaws score 9.2 on CVSS v4.0.

Date (2026)

Event

Source

Oct 21, 13:34 UTC

Source fixes land in php-src on GitHub; patches roll out

Computer Weekly

Oct 21

NSA, NCSC, CERT-EU and agencies in Australia and Japan urge patching or takedowns

Computer Weekly

Oct 21, 08:44 UTC

A WordPress host sees exploit attempts using a public proof of concept

Wordify

Oct 21, 03:02 UTC

Cloudflare's WAF rules go live for free and paid plans

Cloudflare

Oct 20–21

Exploit video spreads via Kirill Firsov, credited to Calif and LCFR; watchTowr reproduces one flaw

CyberScoop

Oct 20

CERT-EU advisory 2026-018 names both CVEs

Brandefense

Oct 16

White House says it first learned of the flaw

Computer Weekly

Early August

A researcher first flags the issue

Computer Weekly

The embargo cracked from another direction too. Dan Lorenc, CEO of supply-chain security firm Chainguard, wrote on LinkedIn (reposted on X) that his team was first read in last Friday by one of the original researchers. That same night, he says, they independently rediscovered the same issue using their own harness and a frontier model given the basic prompt "find bad vulnerabilities in PHP." They were fully read in Saturday, confirmed their findings matched the initial report, and helped test the fixes. Lorenc says he decided to ship Chainguard's fixed builds early and apologized to PHP's maintainers for the extra stress. When Labelbox security engineer Aaron Bacchi asked whether that prompt was really all it took, Lorenc replied: yes.

Does PHP2Shell affect all WordPress sites?

Yes, every WordPress site on an unpatched PHP is exposed, and updating WordPress does nothing. WordPress.org's security post says the flaws aren't WordPress-specific, hit any server hosting PHP, and no WordPress update is planned. Check your version under Tools > Site Health > Info > Server.

The exploit already works on current WordPress. Sansec reports Calif got unauthenticated code execution on WordPress 7.1.2, Drupal 11.4.3 and Joomla 6.1.4. William OGOU's breakdown adds that Wiz did the same against the official wordpress:latest container.

Hosting situation

Exposure

Source

WordPress.com, VIP, WP Cloud, Pressable, Tumblr

Already protected, nothing to do

Automattic

SiteGround

Server-level protection, affected PHP features off

Meow Apps host roundup

WP Engine, Flywheel

CDN protection while PHP updates roll out

Meow Apps host roundup

Cloudways, DreamHost

Temporary protections, patched PHP pending

Meow Apps host roundup

Self-managed on mod_php

Highest risk: one request can trigger the attack before app code runs

Help Net Security

Self-managed on PHP 8.1 or older

No official release; minimal source backports for 7.4, 8.0, 8.1

Exploitr

This is the reverse of July's wp2shell scare, when WordPress force-pushed a core fix to every supported site. This time your host has to update PHP. Many are switching off session.upload_progress, which Roots creator Ben Word notes WordPress doesn't use. OGOU warns that toggle alone won't protect you.

Most prominent sites, apps and products affected

The scale figures are in the section on how much of the web PHP2Shell touches. These are the products running on that footprint:

Product

Category

Why it matters

WordPress / WooCommerce

CMS and e-commerce

Largest PHP install base; exploit proven on 7.1.2

Magento / Adobe Commerce, Shopware

E-commerce

Card checkout pages on exposed servers

Drupal, Joomla

CMS

Government and enterprise sites

MediaWiki

Wiki

Runs Wikipedia

Laravel, Symfony

Frameworks

Custom SaaS and internal apps

Roundcube

Webmail

Email access

Nextcloud

Self-hosted cloud storage

Private files

phpMyAdmin

Database admin

Direct database access

WHMCS

Hosting billing

Customer and payment records

phpBB

Forums

Long-tail community sites

The list of apps with demonstrated exploits comes from Newsweek citing Sansec and Computer Weekly; the "why it matters" column is my read.

Organizations that pulled sites or acted, per Computer Weekly unless noted:

  • Wikipedia/Wikimedia took down an unspecified number of systems
  • Finland's Valtori took government public services offline
  • The Netherlands' NCSC, Port of Rotterdam, Overheid.nl, the KNVB and several hospitals went dark
  • France's Interior Ministry put all its sites in preventive maintenance
  • Denmark's Kombit, Edinburgh Council, several BBC programme pages and DeviantArt went down
  • Belgium's foreign ministry pulled its sites, and Japan's Prime Minister Takaichi urged PHP checks, per JFeed
  • Laravel Cloud auto-patches customers, while Forge users update manually

A likely exception: Facebook. Meta runs Hack on its own HHVM engine, and HHVM dropped official PHP support after version 3.30. PHP2Shell targets the standard PHP engine, so Facebook is probably not exposed the same way. That's an inference; I found no Meta statement.

How the vulnerability works

PHP2Shell is two memory bugs in PHP's C core, both reachable with ordinary web requests and no login.

CVE-2026-109618: out-of-memory corruption. The attack runs in a straight line, per AlmaLinux and Exploitr:

  1. The attacker sends a crafted multipart upload, such as one with a huge number of part headers or empty file fields, staying inside normal upload limits.
  2. Parsing it pushes the request past PHP's per-request memory limit.
  3. PHP aborts mid-operation, leaving some request memory half set up.
  4. Cleanup treats the broken data as valid, which the attacker steers into code execution.

The same bug leaks server memory. JFrog calls it Heartbleed-style disclosure that needs only the factory-default session.upload_progress.enabled=On. Sansec notes the upload-progress handler runs before app code, so the leak works even if the app never starts a session.

CVE-2026-109619: stale state between requests. Sansec classes it as a fatal-error backtrace use-after-free plus OPcache type confusion. A fatal error interrupts native code before cleanup, then a later request or reused worker treats freed memory as live. PHP confirmed RCE against PHP-FPM through this bug.

Automattic's plain-English version: a request that fails partway frees memory PHP still points to, and a later request can reach it.

Interim mitigations, not substitutes for patching:

  • Set memory_limit=-1 where apps can't override it, lower post_max_size, and enforce request limits at the proxy (SOCRadar)
  • Put the site behind a WAF; Cloudflare deployed rules to all customers, including free accounts, calling them a stopgap
  • If you don't accept uploads, block multipart requests and turn off file_uploads and session.upload_progress.enabled (Automattic)

How AI found it. CyberScoop reports a two-month collaboration among OpenAI, PHP maintainers, researchers and security vendors. Wiz used GPT-5.6 Sol, its Wiz Atlas tool and Google's Gemini 4 Argon. Google Cloud says Gemini helped with discovery, exploit development, detection and patch validation. Automattic credits Wiz Research, Calif, OpenAI and Quarkslab.

Is PHP a backdoor?

There is no evidence PHP2Shell is a planted backdoor, and the circumstantial evidence points the other way.

These look like ordinary C memory mistakes. Use-after-free bugs from error handling are C's classic failure mode. Researchers note memory-safety errors cause a large share of C security bugs, with Google estimating 70% of Chromium's came from them. Computer Weekly reports the flaws sat undetected for over a decade before Wiz and Calif found them with AI and coordinated with PHP. A planted backdoor wouldn't usually be found by commercial researchers and then amplified by the NSA itself.

PHP's one real backdoor attempt failed. In March 2021, attackers hacked PHP's own Git server and pushed two commits impersonating creator Rasmus Lerdorf and developer Nikita Popov. Maintainers caught it before any release shipped, and the project moved development to GitHub.

Why suspicion isn't crazy in general. The NSA has a documented record with Dual_EC_DRBG. Snowden-leaked memos indicated the agency became the standard's sole editor, and the Times concluded it held an NSA backdoor. Another document showed RSA received $10 million from the NSA.

What can't be ruled out: whether any intelligence agency privately knew about these bugs before August. Nobody can prove that negative, so "PHP was always a backdoor" stays a slogan, not a finding.

Are AI coding tools making frameworks obsolete?

It's a loud narrative with thin hard data, and mostly a frontend JavaScript story.

The case for it. The New Stack argues AI assistants now write boilerplate and native code, so "frameworks save time" no longer holds. Serenities AI claims 57% of companies run AI agents in production, but that measures agent adoption, not framework abandonment.

The case against. Cote, summarizing Brooks Lybrand, argues frameworks now act as guardrails that stop agents from improvising hacky, undocumented structure.

What usage says. W3Techs puts PHP at 70.2% of sites with a known server language as of August 2026, and W3Techs figures cited on LinkedIn show that share steady for a decade, with WordPress on about 40.8% of all sites.

My read: PHP2Shell cuts against the no-framework thesis on the backend. BrillMark's three-layer model shows why: the flaws live in the runtime, and the fix comes from your host, apt, Docker or Forge. Swapping Laravel for AI-generated bespoke PHP doesn't remove the runtime. It does remove the shared patch path that let WordPress fix wp2shell everywhere at once. The bigger AI story is that models found decade-old engine bugs in weeks, and Chainguard says a one-line prompt was enough to find them again.

Why PHP rose

PHP won by being easy to start, simple to embed in HTML, and cheap to host. Lerdorf has said he never meant to write a language and that PHP succeeded because it fit the early web. He told Linux Format he wanted a stripped-down C without C's memory-management burden. That design goal is the irony at the center of PHP2Shell: the C underneath still had memory bugs.

Cheap shared hosting sealed it. Mario Peshev notes the LAMP stack let hosts sell low-cost plans, and CMSes like WordPress, Joomla, Drupal, phpBB and MediaWiki followed. HackerNoon's Slogging debate on whether PHP is dead landed on the same point: WordPress and WooCommerce lock PHP in. An earlier HackerNoon thread recalled how much hiring once ran through PHP.

109 quotes on PHP2Shell, backdoors, PHP's rise and AI coding

Each quote runs under 15 words.

On PHP2Shell

  1. "These vulnerabilities often provide a direct path to the server's file system or database." — @NSACyber on X, original wording later revised in the formal NSA advisory
  2. "Where immediate remediation is not feasible, organisations should consider taking the system offline" — UK NCSC, via WordPress.org
  3. "consider isolating internet-facing applications from public networks until a fix can be applied" — CERT-EU, via Computer Weekly
  4. "That is the 'shell' in PHP2Shell: control of the server." — Automattic
  5. "seeing early attacks emerging" — Dane Knecht, Cloudflare CTO, via CyberScoop
  6. "CISA has not observed exploitation of these vulnerabilities as of the time of publication" — CISA, via Malware News
  7. "WordPress automatic updates will not apply this fix." — Alex Thomas, Wordfence, via The Repository
  8. Updating PHP "remains the most important step whatever we find" — Wordfence, via Nebula Design
  9. "These are extremely serious vulnerabilities affecting every PHP application on the web." — Laravel, via Securing Laravel
  10. "We have taken down a number of other systems as a precautionary measure" — Wikimedia spokesperson, via Newsweek
  11. "independent of the application running on top of it" — JFrog Security Research
  12. Stores "are exposed even when their own code is clean" — Sansec
  13. "PHP aborts it by jumping straight out of whatever it was doing" — Jonathan Wright, AlmaLinux
  14. "Setups using mod_php face the greatest danger." — Help Net Security
  15. "We've seen attempts to exploit this on our platform, and blocked them" — Wordify
  16. "Updating WordPress or your plugins won't fix it." — Meow Apps
  17. "the viral session.upload_progress.enabled=0 workaround will not save you" — William OGOU
  18. "The bug is in the PHP interpreter underneath them." — BrillMark
  19. "an operational risk note rather than a pricing event" — Newsquawk
  20. A WAF "should be treated as defense in depth, not as a confirmed solution" — AIIDE List
  21. PHP's advisory "confirms that both can be exploited without authentication" — SOCRadar
  22. "PHP2Shell is a flaw in the PHP runtime itself, not in any particular application." — Exploitr
  23. "We reserve the right to release earlier should details of either vulnerability become public" — PHP security team, via BleepingComputer
  24. "We consider the risk highest for mod_php" — PHP security team, via BleepingComputer
  25. "In the last hour, two remote code execution vulnerabilities in PHP have been leaked." — Benjamin Harris, watchTowr CEO, via TechRadar
  26. "the incredible security research team at calif.io" — watchTowr
  27. "this name does not come from the PHP Project" — SOC Prime
  28. "Thai Duong is one of the researchers behind POODLE" — on Calif's team, Roland Farkas
  29. "The Internet Is Burning" — headline, Gadget Review
  30. "PHP retaining request-specific state after its backing memory has been freed" — Huntress
  31. "PHP has confirmed neither claim." — on the leaked exploit banner, Equixly
  32. Leaked identifiers "came with an incorrect CVSS score of 10.0" — Tenable, citing the PHP Foundation
  33. "Suppressing messages through error_reporting, display_errors, or @ does not prevent the underlying access." — Qualys
  34. "The chain has been dubbed php2shell by researchers at Calif." — Tenable CVE entry
  35. "The change can break upload progress bars." — Vol.com.pl
  36. "PHP 8.2 reaches end of life on 31 December 2026." — Brandefense
  37. "PHP has released fixes for two flaws rated 9.2" — The Defiant

On the fallout and PHP's security history

  1. "Belgium's foreign ministry temporarily removed its websites" — JFeed
  2. "The speed of weaponization is what makes this disclosure significant." — on wp2shell, Expert Insights
  3. "Attackers are deploying persistent webshells on vulnerable servers." — on wp2shell, Wiz Research
  4. "Searchlight Cyber has withheld technical details of the exploit chain" — on wp2shell, CyberInsider
  5. "The Cal-CSIC recommends immediately upgrading to PHP to the newest version." — on 2024's CVE-2024-4577, Cal-CSIC
  6. PHP's dominance "making it a common target for webshells" — arXiv webshell study

On backdoors

  1. "everything points towards a compromise of the git.php.net server" — Nikita Popov, 2021, via The Register
  2. "This line executes PHP code from within the useragent HTTP header" — Jake Birchall, via The Hacker News
  3. "Cheers to the troll who put 'Zerodium' in today's PHP git compromised commits." — Chaouki Bekrar, Zerodium CEO, via HostArmada
  4. "there is no evidence to suggest that the malware was designed to be sold" — Security Affairs
  5. "it is always good idea to assume that some services might have been compromised" — LIFARS
  6. "We could have been more skeptical of NSA's intentions" — Sam Curry, RSA, via The Hacker News
  7. On Dual_EC, the NSA "put a backdoor inside the standard" — Graham Cluley
  8. "theoretically impossible for anyone but Dual_EC_DRBG's designers (NSA) to confirm" — Wikipedia
  9. "too obvious to trick anyone to use it" — Bruce Schneier, 2007, via RSA BSAFE wiki mirror
  10. "So was it a backdoor or not?" — Asecuritysite
  11. Memory bugs cause "a large proportion of security bugs in systems written in C" — arXiv CNnotator paper

On why PHP rose

  1. "I had no intention of writing a language." — Rasmus Lerdorf, via Computerworld
  2. PHP is about "how easy it is for people to get started" — Lerdorf, via PCWorld
  3. "At no point did I think I was writing a scripting language." — Lerdorf, via SitePoint
  4. "I didn't want all the memory management hassle of C" — Lerdorf, via TechRadar
  5. PHP 3 was "suitable for people with little or no programming experience" — PHP 3 announcement, via O'Reilly
  6. "PHP allows you to spin off a site in a few hours" — Mario Peshev
  7. "PHP is deeply embedded in WordPress, Facebook and many other web platforms" — The New Stack
  8. "To kill PHP they need to kill WordPress and Woo, that looks impossible." — Limarc Ambalina, HackerNoon Slogging
  9. "PHP was a golden goose for the Russian-speaking tech community" — Arthur Tkachenko, HackerNoon Slogging
  10. "By keeping this logic in PHP, Facebook is able to move fast" — HHVM wiki on GitHub
  11. "some of the most extraordinarily successful projects in history use it" — Keith Adams, via Post Status
  12. "PHP requests always start with empty heap, namespace" — Keith Adams, Taking PHP Seriously slides (the very guarantee CVE-2026-109619 breaks)
  13. "with enough thrust, even pigs can fly" — on PHP's critics, Strange Loop
  14. "PHP is horrible, but it's used everywhere." — Jeff Atwood, Coding Horror
  15. "PHP is rarely the bottleneck" — commenter, Coding Horror forum
  16. "The PHP source code for a 'hello world' page is literally 'hello world'." — Ilya Birman
  17. "PHP is opaque: no stack traces by default or for fatals" — SitePoint forum

On AI, frameworks and AI-written code

  1. "developers no longer need frameworks for productivity shortcuts" — The New Stack
  2. Without a framework, "an AI agent will implicitly generate its own bespoke, undocumented, and potentially unmaintainable version" — Cote, summarizing Brooks Lybrand
  3. AI is "sophisticated enough to handle the complexity that frameworks were designed to manage" — John D. Turner
  4. Agents "compress what would take a team into what one person can handle" — Vellum
  5. If AI is still just your copilot, "you're living in the past" — CoddyKit
  6. "Vibe coding turns developers into reviewers of applications they did not write." — HackerNoon
  7. "45% of all AI-generated code introduces security vulnerabilities" — Veracode research, via Security Boulevard
  8. Models copy insecure patterns, "which they reproduce with equal confidence" — Cycode
  9. "March 2026 alone had 35, more than all of 2025 combined." — on AI-attributed CVEs, Georgia Tech
  10. "AI-assisted commits expose secrets at more than twice the rate of human-only commits" — Cloud Security Alliance
  11. "In September, the repository itself became the exploit." — Adversa AI
  12. "A single prompt was enough to launch calc.exe" — Microsoft Security
  13. Better models and prompts help, but "they do not eliminate the underlying security risks" — arXiv vibe-coded apps study

More on PHP2Shell

  1. "Cyber actors are likely to weaponize PHP2Shell vulnerabilities." — NSA, formal NSA advisory
  2. "AI uncovers critical RCE vulnerabilities affecting 70% of the Internet" — Wiz headline, via Techmeme
  3. "PHP2Shell Vulnerabilities Put 70% of Websites at Risk" — Adam Engst, TidBITS headline, via Techmeme
  4. "Two heap use-after-free primitives in PHP's 'session.upload_progress' handler" — researcher @j4ck3lsyn, via Techmeme
  5. Users should "prepare now so they can upgrade as soon as the release is available" — PHP, via SecurityWeek
  6. "We are now seeing php2shell exploited in the wild at scale." — researcher quoted by SecurityWeek
  7. "We expect mass attacks to start within 15 minutes of the release" — Sansec, via PC Gamer
  8. "The scale is huge." — Lukasz Olejnik, King's College London, to Reuters, via Safeguard
  9. "The name PHP2Shell comes from the leaked tool's own banner." — Secure in Seconds
  10. "A heavily secured custom system is just as vulnerable as a standard WordPress installation." — Techzine
  11. "ini settings won't save you." — Joe Ferguson, PHP 8.6 release manager, via The Hacker News
  12. "even a simple 'Hello World' page on a vulnerable PHP version can be attacked" — The Hacker News
  13. "Most of the internet is suddenly melting down, and there's only one fix" — headline, TheBlaze
  14. "no security researcher could have found and completed this exploit chain in 10 hours" — Adam Kues, Searchlight Cyber, on July's wp2shell, via Dark Reading
  15. Descriptions of 2021's Log4Shell "border on the apocalyptic" — The Washington Post, via Wikipedia

Cloudflare's response and the viral threads

  1. "so the NSA was like 'take your system offline'" — fiveoutofnine on X
  2. "Protecting against php2shell required more than standard request-based rules." — Cloudflare
  3. A common component's flaw "can put applications across the Internet at risk" — Cloudflare, on full transaction detection
  4. "The rules use request and response signals to stop exploit attempts" — Cloudflare on X
  5. "Cloudflare sells the WAF protection it describes" — PPC Land
  6. "php2shell is its first use in managed detections" — Technobezz
  7. "Use CloudFlare WAF, as it already provides protection against php2shell." — Laramate
  8. "Craziest day in cyber security in a long time" — Tobi Lütke, Shopify CEO, quoting Tony Ma's one-day tally of PHP, Node.js and NGINX CVEs, on X
  9. "I'm sorry that my decision led to even more stress for them." — Dan Lorenc, Chainguard CEO, on shipping fixed builds early, LinkedIn post reposted on X
  10. "'Find bad vulnerabilities in PHP' that's all it took?" — Aaron Bacchi, Labelbox, to which Lorenc replied "yes," same LinkedIn thread

What to do now

Patch PHP to 8.5.12, 8.4.27, 8.3.36 or 8.2.35, then restart every PHP worker. Computer Weekly's checklist covers the rest:

  • Inventory every system running PHP, internet-facing first, at all versions
  • Update to a fixed release and watch for follow-up advisories
  • On PHP 8.1 or older, get a vendor backport or upgrade; 8.2 itself reaches end of life December 31, 2026
  • Can't patch? Apply the temporary mitigations above or take the system offline
  • Before upgrading an unpatched box, check for signs of compromise and backdoors
  • Watch logs for odd multipart requests followed by memory-limit errors or bursts of HTTP 500s (Automattic, citing Wiz)