PHP2Shell explained: what happened, which platforms were hit, and what to do now

PHP2Shell explained: what happened, which platforms were hit, and what to do now

Mihajlo Ivanovic
Mihajlo Ivanovic
•
WebOps
•
Published on
10/22/2026

Key takeaways

  • PHP2Shell is two critical flaws in PHP itself that let attackers run code on a server without logging in.
  • The fixed versions are PHP 8.5.12, 8.4.27, 8.3.36 and 8.2.35, released October 21, 2026.
  • WordPress, Drupal, Joomla and Magento were all shown exploitable; CMS and plugin updates leave the flaw in place.
  • PHP 8.1 and older get no official fix, and about a third of PHP sites still run PHP 7 or older.
  • US, UK and EU agencies said to take systems offline or isolate them if you could not patch.
  • By October 22, Sansec judged mass exploitation less likely because the public exploits need specific server conditions.
  • Webflow says its core services are not built on PHP and its customers needed no action.

We update this page as new facts are confirmed; see the update log near the end.

On October 21, our founder and CEO, Uroš Mikić, got 10 or more messages from clients asking the same two things: are we safe, and are Webflow sites affected?

PHP2Shell is the name for two critical PHP vulnerabilities in the language itself, CVE-2026-109618 and CVE-2026-109619, rated 9.2, that can let an attacker run code on a web server without logging in. PHP fixed them on October 21, 2026, in versions 8.5.12, 8.4.27, 8.3.36 and 8.2.35.

Every site on an unpatched PHP version was exposed, whatever CMS runs on top, and the fix is a PHP update applied by whoever runs the server.

What happened with PHP2Shell

PHP announced a critical fix about 18 hours before it shipped. The vulnerability IDs had leaked hours earlier, and Amazon saw an exploitation attempt four days before disclosure. Attempts are confirmed; whether anyone was actually breached is still unclear.

PHP2Shell in plain words

PHP is the programming language running on the server behind WordPress, Drupal, Joomla, Magento and countless custom sites. W3Techs finds it on 69.3% of websites whose server-side language it can detect (October 22, 2026).

PHP2Shell lets one crafted web request corrupt PHP's memory and run the attacker's code with the permissions of the server's PHP process. PHP's advisory says the attack can trigger "before any application code runs", so the CMS on top makes no difference.

The second PHP vulnerability can also disclose worker memory, and code running on your server can reach its files, database and stored credentials. Affected releases date back to PHP 5.4.

Your exposure comes down to the PHP version on your server and who updates it.

How the disclosure unfolded

The PHP Foundation's own account starts in 2024, when a core developer it contracted found the first signs of the out-of-memory problem during an external audit funded by the Sovereign Tech Agency. No exploit path was known, the fix stalled for months, and the Foundation now calls the delay "a structural failure."

Date and time (UTC)
What happened
Source
2024
Out-of-memory bug first spotted during an audit; the fix stalls
PHP Foundation
Early 2026
PHP scanned with Anthropic's Claude Mythos
PHP Foundation
Aug 11, 2026
Calif and OpenAI report the root cause
PHP Foundation
Aug 24
Wiz Research reports
PHP Foundation
Oct 17
An exploitation attempt hits Amazon's honeypots
Amazon
Oct 20, about 15:00
The CVE IDs leak online with a wrong score
PHP Foundation
Oct 20, 19:30
PHP posts its advance notice and moves the release up a day
PHP Foundation
Oct 21, 03:02
Cloudflare's WAF rules go live on all plans
Cloudflare
Oct 21, 07:34
Hosting partners report active exploitation
Patchstack
Oct 21, 14:00
The fixed PHP versions ship
PHP
Oct 21, after release
Amazon: "now being broadly exploited in the wild"
Amazon
Oct 22
Sansec: public exploits "do not work against a default PHP installation"
Sansec

Cloudflare had protections live "about 9 hours ahead of public disclosure", Free plans included. Amazon's sensors logged the first attempt on October 17, and hosting partners reported active incidents to Patchstack on release morning.

Whether any of that turned into break-ins is less clear. PHP's security team "did not identify any functional exploits at the time of release/public disclosure." Patchstack's telemetry at 13:57 UTC showed "only probing attacks, with no hard evidence of breaches yet."

As of October 21, "No successful break-ins had been confirmed," per Insurance Business. Sansec's October 22 update adds that "Mass exploitation of PHP2Shell is less likely than we expected on release day."

Uroš put it bluntly: "No one knows who was actually affected, and if someone tells you, they are probably lying. We will probably see the effects of this breach in the following weeks."

Why governments and companies took sites offline

On October 21, the agencies told anyone who couldn't patch to switch systems off. CISA said organizations that "cannot update immediately, or that continue to use PHP 8.1 or earlier unsupported versions, should take PHP-based systems offline until they can be patched or updated."

The FBI gave the same advice, and the UK's NCSC told organizations to "consider taking the system offline" if they couldn't fix it straight away, as Computer Weekly reported.

Plenty did. Computer Weekly's tally includes:

  • Finland's government IT agency, Valtori, "as a precautionary measure"
  • The Dutch NCSC's own site, Overheid.nl and the Port of Rotterdam
  • France's Interior Ministry, which put its sites into preventive maintenance
  • Denmark's Kombit, including the national school communication platform
  • Edinburgh Council, several BBC program pages and some Wikimedia systems

"So did the whole internet go down? Not really," as Uroš wrote. Cloudflare's rules and early host patches gave the sites on those services a head start.

Which platforms were affected beyond WordPress

Every platform that runs PHP on a server was in scope, because the flaw sits in PHP and fires before the CMS loads. Wiz Research demonstrated code execution before login against default WordPress, Drupal and Joomla installs, and it says every PHP version released in the last decade is affected by at least one of the flaws.

Uroš summed it up: "To get one thing straight: this is not WordPress only or a plugin. This is in the core PHP as a language."

Platform
Runs on PHP
What was confirmed
Who applies the fix
What owners had to do
WordPress and WooCommerce
Yes
Pre-login code execution (Wiz)
Host or server owner
Confirm the PHP version and patch date
Drupal
Yes
Pre-login code execution (Wiz)
Host or server owner
Update PHP
Joomla
Yes
Pre-login code execution (Wiz)
Host or server owner
Update PHP
Magento and Adobe Commerce
Yes
Code execution on Magento 2.4.9 (Calif)
Host or server owner
Update PHP
Other PHP apps
Yes
MediaWiki, Nextcloud, Laravel and more
Whoever runs each server
List every PHP tool
Managed hosts and panels
Yes, on your behalf
Patches and edge rules
The host
Confirm the patch landed
Webflow
No, for core services
Not affected, per Webflow
Webflow
Nothing
Sanity (headless)
Hosted backend; the front end is yours
No statement as of Oct 22
Sanity and your team
Check the front end

WordPress and WooCommerce

WordPress's security team didn't hedge. Its October 21 notice says the flaws "are not specific to WordPress and affect any server that hosts a PHP application", and "No WordPress update is required or planned for these issues."

Your PHP version sits under Tools > Site Health > Info > Server. On self-managed servers below PHP 8.2, WordPress.org says to consider taking the server offline while you upgrade.

Managed hosts carried most of the load, per The Repository's roundup:

  • Automattic: WordPress.com, VIP and Pressable sites were already protected.
  • SiteGround: server-level mitigations went out hours before the release.
  • WP Engine: mitigations at the CDN layer, with patching finished at 01:19 UTC on October 22.
  • GoDaddy: Managed WordPress fully patched, Web Hosting still on mitigations at its last update.

The Repository counts WP Engine, Pressable and Patchstack among its sponsors. WooCommerce stores follow the same rule, and our rundown of WordPress security issues covers who patches what more broadly.

Drupal

Drupal was the first platform where Wiz confirmed unauthenticated code execution, on August 20. Drupal's PSA leaves no room for doubt: "Updating to a PHP release containing the patch to these vulnerabilities is the only complete mitigation."

If you manage PHP yourself, you apply the update, and "If your host manages it, follow their communications for timing and any required action." Keeping PHP current is part of what Drupal costs to run, as our Drupal vs Webflow comparison notes.

Joomla

Wiz also showed code execution before login against the default Joomla image. We found no Joomla project advisory as of October 22, and the fix is the same as everywhere else, a PHP update from your host or server owner.

On shared hosting, get two things in writing: the PHP version your site runs and the date it was patched.

Magento and Adobe Commerce

Sansec, an ecommerce security firm, reports that Calif showed an attacker without a login can run code on Magento 2.4.9, and it warns that "you cannot fix PHP2Shell from within your store code."

Taking a checkout offline stops revenue by the hour, so Sansec's October 22 advice matters: "You do not need to take your store offline. Update PHP anyway." Until then, it suggests blocking multipart/form-data requests at the web server and placing a test order afterward, since "Some stores submit cart or checkout forms as multipart."

We found no Adobe bulletin for PHP2Shell as of October 22, so Adobe Commerce cloud merchants should ask Adobe support to confirm their PHP build.

Other PHP apps around your website

PHP also runs much of the software around a website, from webmail and file sharing to billing portals and wikis. Calif's list, as reported by Sansec, includes MediaWiki 1.46.2, Roundcube 1.7.4, phpMyAdmin 5.2.3, Nextcloud 35.0.1, Laravel 13.11, Symfony 8.1 and WHMCS.

Laravel and Symfony power custom-built apps, so a custom PHP app is in scope with no CMS involved. CISA puts the hidden part well: "PHP is often a component of other software and prevalence may not be directly observable."

Ask IT for a list of every system running PHP, and patch the internet-facing ones first.

Managed hosts and control panels

Your hosting model decided day one. When a host runs PHP for you, it carries the patching job, and when your team runs the server, your team does.

Plesk, a hosting control panel, rebuilt the PHP packages it ships, and its notes show three very different situations:

  • PHP 8.2 to 8.5: fixed in 8.2.35, 8.3.36, 8.4.27 and 8.5.12
  • PHP 7.4, 8.0 and 8.1: fixed only in builds dated October 21, 2026, so the version number proves nothing
  • PHP 5.6, 7.2 and 7.3: no fix listed, with paid extended support as the suggested route

The long tail is big. W3Techs counts 26.9% of PHP sites on PHP 7 and 7.7% on PHP 5, versions the PHP project no longer patches.

PHP gave Linux distributions and LTS vendors the patches in advance, which helps explain why some hosts patched within hours while others waited. Owning that job after launch is part of what WebOps is.

Platforms that don't run on PHP

Hosted platforms whose core services don't run on PHP had nothing for customers to patch. Webflow's Trust Center statement says "Webflow's core services are not built on PHP and are not affected." It adds that its team is assessing "non-production related systems that use PHP", and that "No action is required from customers."

Sanity works differently. Content lives in Sanity's hosted Content Lake, and the front end is a separate app, usually built in Next.js or Astro, as our guide to what Sanity is explains.

Exposure on a Sanity build depends on what that front end runs on, and we found no Sanity statement on PHP2Shell as of October 22. That split is the idea behind headless vs traditional CMS setups.

Moving off PHP hands the patching job to a vendor or to whoever runs your front end. Every stack still has patch days.

What to do now if your site runs on PHP

Update PHP first and confirm it with whoever runs the server; nothing you change inside the CMS fixes the flaw.

Forward this to your developer

  • Update to PHP 8.5.12, 8.4.27, 8.3.36 or 8.2.35, or a vendor build whose changelog names both CVEs, then restart Apache, PHP-FPM and long-running workers.
  • On PHP 7.4, 8.0 or 8.1, use a distribution or LTS backport.
  • Stopgaps "reduce exposure to specific attack paths but do not make an installation safe", per PHP: session.upload_progress.enabled=0, memory_limit=-1 set through php_admin_value, a low post_max_size, and fatal_error_backtraces=0 on PHP 8.5, each with a worker restart.
  • Search logs back to October 17 for multipart POST requests containing PHP_SESSION_UPLOAD_PROGRESS.

Find your PHP version and who patches it

WordPress shows your PHP version in Site Health, hosting control panels list it under their PHP settings, and your host or agency can confirm it in writing. Distributions and Plesk backport fixes without changing the number, so ask for the build date or the changelog entry that names both CVEs.

Who patches depends on how you host:

  • Hosted platforms: the vendor
  • Managed hosting: the host
  • Shared hosting: the host, on its own timeline
  • Your own server or cloud: your team or agency

Questions to ask your host or agency today

Paste these into an email as they are:

  1. Which PHP version and build is our site on, and when was it last updated?
  2. If we run PHP 8.1 or older, where does our fix come from, and when do we move to a supported version? PHP 8.2's own security support ends on December 31, 2026.
  3. Were all PHP workers restarted after the update?
  4. Does our site sit behind a web application firewall (WAF), and does the server accept traffic only through it?
  5. Have you checked our logs back to October 17 for signs of compromise?
  6. Which of our other tools run PHP, such as webmail, file sharing or billing?

Question 4 matters because, as Patchstack notes, Cloudflare's rules "only help if your server accepts traffic exclusively from Cloudflare." A good answer to the list is a version, a date, and a yes to restarts and log checks.

If you can't patch today

CERT-EU's advisory says organizations that can't patch "should consider isolating internet-facing applications from public networks until a fix is applied and verified." A WAF alone is a stopgap, and Cloudflare tells its customers to patch "even with WAF protections."

By October 22, Sansec judged that the public exploits need specific server conditions, so for most sites a fast patch matters more than downtime.

If you do go offline, keep it short and serve a 503. Google's crawling documentation says "5xx and 429 server errors prompt Google's crawlers to temporarily slow down with crawling" and that indexed URLs "are preserved in the index, but eventually dropped", with crawling recovering once pages return 2xx. A short, planned outage costs far less than a compromised server; post a status note elsewhere so customers know why.

Check for signs of compromise

Amazon's advice is to "Start investigations from the earliest known exploitation, not from the disclosure date", which means October 17, and to "measure patch and mitigation timelines in hours" for critical internet-facing flaws. Ask your host or developer to look for:

  • Unusual upload requests followed by memory errors or bursts of HTTP 500 responses (Wiz)
  • Unexpected processes or new files on the server (Amazon)
  • PHP worker processes launching shells or downloading tools (CISA)

If anything looks wrong, isolate the server, keep the logs, rotate the passwords and API keys it holds, and report it; in the US, the FBI points organizations to a field office or IC3. Our guide for when your WordPress site was hacked covers recovery.

Is PHP2Shell a one-off?

Uroš asked the obvious question in his post: "In the AI age, who was able to find this?"

Several teams found it independently. Calif, OpenAI's Codex Security team and Wiz Research reported the flaws, and the disclosure site credits Google's Gemini team with working alongside PHP's security team on discovery, coordination and patch checks. Wiz says it used "Wiz Atlas, Gemini 4 Argon and GPT-5.6 Sol", and that "Frontier models were critical to making this process practical."

Anthropic's Claude Mythos is part of the story too. The PHP Foundation scanned PHP with Mythos through Alpha-Omega earlier in 2026, and its post doesn't say whether that scan surfaced these bugs. The first signs of the problem came from a human developer in 2024.

A pattern is forming. Three months earlier, wp2shell was a code execution chain before login in WordPress core itself, found with OpenAI's GPT 5.6 Sol and exploited in the wild.

In the same week as PHP2Shell, and unrelated to it:

  • Node.js shipped fixes for 10 vulnerabilities, including a high-severity code execution bug.
  • GitLab patched a CVSS 10.0 flaw in self-managed versions going back to 2014.
  • Railway paused deployments after a security incident and told customers to revoke the environment variables stored with it.

Uroš believes this is just the start, and he has a warning for teams building fast with AI: "Don't trust that your data is safe by vibecoding a website or a platform if you don't have previous development experience. You can cause real damage to your organization."

We read it the same way. As AI shortens the time from bug to exploit, the question for a marketing team is who patches within hours, and that answer belongs in the website plan.

Should you move off PHP?

Not this week. Patch first, then decide who you want carrying the patching job, since every stack needs someone to carry it.

We build on Webflow and Sanity, so weigh our view with that in mind.

Stay where you are if your host or engineer patched within hours, if your build leans on plugins or WooCommerce, or if your site already runs PHP 8.3 or newer and someone clearly owns its updates.

Start planning a move if nobody owns the server behind your marketing site, if you're still on PHP 8.1 or older and face an upgrade project anyway, or if you took the site offline this week and lost leads.

If you move, we'd look at two non-PHP directions:

  • Webflow suits marketing-led sites where you want the vendor to run hosting and patching. Its statement this week is quoted above, and its customers had nothing to do.
  • Sanity suits teams that want structured content across channels and have developers to own the front end. The content backend is hosted, and the front end's updates stay with your team.

Neither one makes you unhackable. Account security, custom code and third-party scripts stay your job on both, and a headless front end has its own patch days, as the Node.js release the same week showed.

To compare options, start with Webflow vs WordPress, Sanity vs WordPress, our list of WordPress alternatives and our CMS migration guide. If you've already picked a direction, our migration guides for WordPress, Drupal and Joomla cover the move to Webflow, and our Sanity team covers headless builds.

If this week has you rethinking the site, start with what a rebuild should fix beyond the stack. Our free AI website audit scores your site across 10 strategy dimensions in under two minutes, and if you want a second opinion on Webflow, Sanity or staying put, we're happy to talk it through.

Update log

  • October 22, 2026, 17:50 CEST: first published.

PHP2Shell FAQ

What is PHP2Shell?

PHP2Shell covers two critical PHP vulnerabilities, CVE-2026-109618 and CVE-2026-109619, both rated 9.2. An attacker can use them to run code on a web server without logging in, and PHP shipped fixes on October 21, 2026.

Is my website affected by PHP2Shell?

Yes, if it runs on PHP and the server hasn't been updated to 8.5.12, 8.4.27, 8.3.36, 8.2.35 or a patched vendor build. Webflow says its core services "are not built on PHP and are not affected." Ask your host for your PHP version and patch date.

Is updating WordPress or my plugins enough?

No. The flaw is in PHP, which runs underneath WordPress, Drupal, Joomla and Magento, so only a PHP update fixes it. WordPress says no WordPress update is required or planned.

What if my site runs PHP 8.1 or older?

The PHP project no longer patches those versions. Ask your host for a backported build that names both CVEs, or plan the upgrade now, because PHP 8.2 also loses security support on December 31, 2026.

Does Cloudflare or another firewall protect my site?

Partly. Cloudflare switched on rules for every plan, Free included, but it calls them a stopgap and tells customers to patch anyway. The rules also only help if your server accepts traffic through Cloudflare alone.

Should I take my website offline?

Patch first. On October 21, US, UK and EU agencies said to take unpatched systems offline or isolate them; by October 22, Sansec found the public exploits need specific server conditions. If you can't confirm a patch for a high-value site, a short 503 outage is recoverable for search.

Has anyone been hacked through PHP2Shell?

Attack attempts are confirmed from October 17 onward, and Amazon calls the flaw broadly exploited. As of October 21, "No successful break-ins had been confirmed," per Insurance Business, and on October 22 Sansec found the public exploits fail against a default PHP installation.

Mihajlo Ivanovic

SEO and Content Manager at Flow Ninja, writing on technical SEO for Webflow, programmatic SEO, and how to earn citations in AI search.

More about 
Mihajlo Ivanovic

Get for free
Foresight
Used on 5000+ websites

See your website the way a senior strategist does

Foresight scans your site across 10 strategy dimensions. You get a scored breakdown of every gap costing you leads.

Invalid website URL
Scan my website

Free. No sign-up. Results in 2 minutes.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Clear roadmap for each category

69

Overall score
26
 issues found
Positioning
53
Differentiation
61
Target Audience
86
Website Structure
72
Social Proof
37
Conversion & Growth
60

Continue reading

All posts
Two men working on laptops at a shared desk with plants and computer monitors near a window.
Two people sitting and discussing indoors with a laptop on a glass table.
Two men working on laptops at a desk in a bright office with plants and large windows.
Close-up of a laptop keyboard and trackpad illuminated with purple and blue lighting.
Two people working on laptops having a discussion in a modern office setting.

 Ready to escape your CMS nightmare

100+ successful migrations. 0 ranking disasters at launch. One embedded team that's done this before.

Free strategy call

Get your free resource

Enjoy your free resource!
❤️