PHP2Shell. What to do, in plain English.

Two critical flaws in PHP itself (CVE-2026-109618 and CVE-2026-109619) let an attacker run code on a web server without logging in. The fix shipped on 21 October 2026. This resource center explains who is affected, which version to install, and what to check if you're worried your site was hit. Updated 23 October 2026.

Free PHP2Shell exposure review

Tell us your website. We'll look at what it runs from the outside and tell you what to check and what to ask your host.

Already compromised or need it patched now? See emergency PHP patching.

Status as of 23 October 2026

Where things stand

The fix is out. On 21 October 2026 the PHP project released PHP 8.5.12, 8.4.27, 8.3.36 and 8.2.35, which fix both flaws. Its security advisory rates both CVSS v4.0 9.2 (critical) and says only an update is a complete fix.

Attacks have been reported. watchTowr reports exploitation in its honeypot network from 21 October, and Cloudflare reported early attack traffic and added firewall rules. As of 23 October, CISA had not added either CVE to its Known Exploited Vulnerabilities catalog, and no source had documented a confirmed mass compromise. We update this page as that changes.

The flaw is in PHP, not in your CMS. WordPress, Drupal, Joomla and custom PHP sites are exposed because they run on PHP. Updating a plugin or the CMS does not fix it; updating PHP on the server does. Sites on Shopify, Wix or Squarespace run on the platform's own servers, so the platform handles it.

Old PHP is the real danger. PHP 8.1 and older get no official release. The PHP project published minimal source backports for 7.4, 8.0 and 8.1; 7.3 and older, including PHP 5, have no fix at all. PHP 8.2 itself stops receiving security fixes on 31 December 2026.

Fixed versions

Which PHP version fixes PHP2Shell

Find your branch, then make sure your server runs at least the fixed release. "8.3" is not enough on its own: 8.3.35 is still vulnerable, 8.3.36 is fixed.

Your PHP branchFixed inWhat to do
8.58.5.12Update now. While you wait, the advisory also lists fatal_error_backtraces=0 for 8.5.
8.48.4.27Update now.
8.38.3.36Update now.
8.28.2.35Update now, then plan a move: 8.2 reaches end of life on 31 December 2026.
8.1, 8.0, 7.4No official releaseUpgrade to a supported branch. Source backports and some Linux vendors' packages exist as a stopgap.
7.3 and older, PHP 5No fixUpgrade or take the site offline until you can.

Source: PHP security advisory, 21 October 2026. Linux distributions patch without changing the version number: a patched Debian, Ubuntu or Red Hat server can still report an older 8.x version, so check the package version against your vendor's advisory or ask your host. Full details in PHP2Shell fixed versions.

Do this today

Five steps for any site owner

You don't need to understand the bug to close it. You need to know your PHP version and who updates it.

1

Find out what your site runs

Check the PHP version in WordPress Site Health or your hosting panel, or ask your host. Our guide shows seven ways to check, and why a Linux server can be patched while still showing an older version number.

2

Find out who updates PHP

On shared or managed hosting, your host updates PHP and you pick the version. On your own VPS or server, you or your developer do it. Platforms like Shopify and Wix handle it themselves.

3

Get onto a fixed release

Move to 8.5.12, 8.4.27, 8.3.36 or 8.2.35 or later, or your Linux vendor's patched package. If you're on 8.1 or older, this is the moment to upgrade.

4

Restart PHP

The PHP advisory says to restart every PHP worker after updating, so the fixed code is what's running. Hosts normally do this for you.

5

Check for signs of a break-in

Attempts were reported before many sites were patched. Look for the signs in was my site hacked through PHP2Shell?

FAQ

Quick answers

What is PHP2Shell?
The name for two critical flaws in the PHP engine, CVE-2026-109618 and CVE-2026-109619, that can let an attacker run code on a web server without logging in. The PHP project fixed both on 21 October 2026.
Is my WordPress site affected?
If its server runs an unpatched PHP build, yes: anything older than 8.5.12, 8.4.27, 8.3.36 or 8.2.35, unless your Linux vendor or host has shipped its own patched package. The flaw is in PHP, not WordPress, so the fix is updating PHP on the server, usually through your host.
Are Shopify, Wix and Squarespace sites affected?
Those platforms run your site on their own servers and update their own software. Store owners don't manage PHP there. Your own separate servers or apps are a different matter.
Does a security plugin or firewall protect me?
A web application firewall can block known attack patterns, and Cloudflare added rules for this. It's a partial layer. The PHP advisory says only an update is a complete fix.
I'm on PHP 7.4. What now?
There is no official PHP 7.4 release with the fix. Upgrade to a supported branch; if that will take time, ask your host whether they ship a backported package, and treat it as a stopgap.
Do I have to restart anything after updating?
Yes. The advisory says to restart every PHP worker after updating so the fixed code is running. Managed hosts normally handle this.

Project Managers who will work with you on your project!

David Geder
David Geder
Irina Shvaya
Irina Shvaya
Benjamin Gunther
Benjamin Gunther
Jeanette Mordvinov
Jeanette Mordvinov
Mark Shvaya
Mark Shvaya

Not sure where your site stands?

Tell us your website and we'll tell you what it runs, who should patch it and whether anything looks wrong.

Get help with PHP2Shell →