PHP2Shell: Two Critical PHP Flaws, What We Know and What to Do Today?

Share

Key Takeaways

  • PHP has confirmed two critical vulnerabilities. Both are rated 9.2 on CVSS v4.0, and the fix is scheduled for 14:00 UTC today, 21 October 2026.
  • The details leaked early. That shortens the time between a patch and attacker interest, so prepare before the release.
  • Affected versions are not confirmed yet. PHP will publish them with the release. Do not rely on leaked claims.
  • Updating your CMS will not fix this. The fix is in PHP itself, so it comes from your host, distribution, or container image.
  • PHP 8.1 and older are end of life. Expect no official fix for them, and plan an upgrade or isolation now.

Two critical PHP vulnerabilities, nicknamed PHP2Shell, are about to be patched. The PHP security team has scheduled an out-of-cycle release for 14:00 UTC today, which is 19:30 in India. Details leaked before the planned disclosure, so defenders have less lead time than usual.

This post separates what is confirmed from what is not, then walks through what to do before the release, when it ships, and afterward. We build and support Drupal and other PHP-based sites, so we are following this closely. PHP’s own advisory outranks anything written here, including ours. Check it first once it is published.

What is Confirmed and What is Not

Most of the noise around this event comes from mixing up the two. Here is the position as of 12:00 UTC, based on PHP’s announcement and security reporting.

Question Where it Stands Basis
Do two critical flaws exist? Yes PHP’s security team notice of 20 October
How severe? CVSS v4.0 9.2 for both PHP’s notice. A leaked post claimed 10.0
Are they remote code execution? Reported, not detailed by PHP watchTowr, which says it reproduced one flaw
CVE identifiers CVE-2026-109618 and CVE-2026-109619 are circulating Not named in PHP’s notice
Which versions are affected? Not confirmed PHP will publish them with the release. A leak claimed PHP 5 onward
Which versions get fixes? Not confirmed Fixes are expected for supported 8.x branches only
Is it exploited in the wild? Not reported watchTowr and Huntress, as of 20 to 21 October
Is there a workaround? None from PHP PHP’s notice

Treat any claim beyond this table with care, especially specific version numbers, exploit steps, or “proof of concept” repositories. Until PHP’s advisory is out, those are unverified, and they can send you down the wrong path.

Why This One Deserves Attention Today

PHP runs behind a large share of the web, including popular platforms such as WordPress, Drupal, and Magento. SecurityWeek reports that public descriptions point to unauthenticated remote code execution, which means a stranger on the internet could run commands on your server without logging in. That is the most serious class of web flaw.

The leak makes timing worse. Normally a coordinated release gives defenders and attackers the details at the same moment. Here, the secret is partly out, and security firms such as Sansec expect rapid attempts once a patch exists. That is a prediction and not a fact. But history supports caution, since attackers have tried to exploit serious PHP flaws within a day of disclosure before.

Before the Release: Four Jobs

  1. Inventory every PHP install: Include web servers, containers, staging sites, CI runners, control panels such as cPanel and Plesk, and software that bundles its own PHP.
  2. Record version and packaging: Note whether PHP came from your Linux distribution, a container image, or a manual build. On distribution packages, the version number may stay the same when fixes are backported, so you will need the package changelog.
  3. Rank by exposure: Internet-facing systems first. Then systems behind a login. Then internal ones. Flag every end-of-life version.
  4. Line up the window: Get approvals, take backups, write a rollback step, and decide who restarts services and who tests.

When the Fix Ships

  1. Read PHP’s advisory first. Confirm affected versions, fixed versions, and any conditions before you start.
  2. Patch internet-facing systems first. Restart PHP-FPM, Apache, or the relevant service so the new build actually loads.
  3. Rebuild containers. Pull a patched base image, rebuild, and redeploy. Patching a running container by hand does not fix the image.
  4. Ask managed hosts in writing. Get confirmation of when and how they will patch your environment.
  5. Verify the running version. The command-line PHP can differ from the PHP your web server uses. Check the one that serves your site.
  6. Test the critical paths. Logins, checkout, forms, and integrations should all be checked once the patch is live.

One point is worth repeating. A WordPress, Drupal, or Magento update does not patch PHP. The fix lives in the runtime, so your platform updates and the PHP patch are two separate jobs.

If You Run PHP 8.1 or Older

These versions are end of life, and no official fix is expected for them. They are also common. Security firm Mallory counted roughly 884,000 internet-facing hosts whose banners reported PHP 8.1 or older. Those are banner counts and not confirmed vulnerable systems, but they show how many sites could be stranded.

You have four options, in order of preference:

  • Upgrade PHP. This is the real fix. On Drupal, for example, Drupal 11 needs PHP 8.3 or later, so a PHP upgrade is often tied to a CMS upgrade. Our Drupal migration and upgrade team handles these together.
  • Check your vendor. Some Linux vendors backport fixes into the PHP builds they ship. Ask what they plan, and get it in writing.
  • Reduce exposure. Put the system behind a VPN or restrict access by network. A web application firewall may help, but it cannot be trusted to block a flaw whose details are not public.
  • Take it offline. If it is not needed, switch it off until you can upgrade.

What to Watch for After Patching

Patching closes the door, but it does not remove anyone who is already inside. Huntress’s guidance points to one strong signal: PHP worker processes such as php-fpm, php-cgi, httpd, or apache2 starting shells, scripting interpreters, or download tools. A web server should rarely do that.

If you suspect a compromise, isolate the server and preserve the web server and PHP logs. Then look for web shells, new files in the web root, new scheduled jobs, and new accounts. Do this before you rebuild, because a rebuild can erase the evidence.

Conclusion: Order of Work

Today is about order, not heroics. Inventory first. Internet-facing systems next. End-of-life versions after that. Everything else lasts.

Verify each one after you patch it, and keep watching for odd behavior from your PHP processes in the days that follow. The facts will keep changing as PHP publishes its advisory, so check the official source before acting on any number you read elsewhere, including here.

Next, prove the fix worked. A patch that is installed but not running changes nothing. Our follow-up, PHP2Shell patch verification: how to confirm your servers are really fixed, shows how to check what is actually running. It also covers how to look for signs of entry before you patched.

If you are not sure which PHP version your sites run or who hosts them, send us your domains and hosting providers. We will help you work out what to check and patch first. Our managed support team covers ongoing security updates. Talk to Our Team right now →

Frequently Asked Questions

What is PHP2Shell?

PHP2Shell is the name researchers use for two critical PHP vulnerabilities that the PHP security team has rated 9.2 on CVSS v4.0. Public reporting describes them as remote code execution flaws. PHP has scheduled an out-of-cycle security release for 21 October 2026 at 14:00 UTC and will publish affected and fixed versions then.

Is PHP2Shell being exploited right now?

As of 20 and 21 October 2026, security firms WatchTower and Huntress reported no exploitation in the wild, and no public exploit code that they could confirm. Because the details leaked before the planned disclosure, defenders should assume attackers will move quickly once a patch is public.

Do I need to update WordPress, Drupal, or Magento?

Updating the CMS alone will not fix a flaw in PHP itself. The fix comes in a new PHP build, which your host, your Linux distribution, or your container image supplies. Update PHP first, restart the PHP service, and then keep your CMS and plugins current as usual.

Which PHP versions will get a fix?

PHP has not said yet. It will publish affected and fixed versions with the release. Based on how PHP supports its branches, fixes are expected for the supported 8.x branches, and PHP 8.1 and older are end of life. Check the official PHP announcement, and your distribution or host, for exact versions.

Is there a workaround if I cannot patch yet?

PHP has published no workaround. Some third parties suggest configuration changes or request filtering, but these are unverified and do not cover every case. For systems you cannot patch, reduce exposure by moving them behind a VPN, restricting access, or taking them offline until you can upgrade.

How do I check which PHP version my site actually uses?

Ask your host, or check the version your web server uses, because the command-line PHP on a server can differ from the PHP that serves your site. On distribution packages, the version number may not change when security fixes are backported, so check the package changelog too.

LN Webworks
The Author
LN Webworks

Read More Blogs

PHP2Shell patch verification concept featuring server infrastructure, a red security shield, and a checklist highlighting running PHP version checks, CVE fix confirmation, service restarts, container image verification, and intrusion detection. Compliance & Governance, Engineering & Architecture

Key Takeaways Installed is not running. A new PHP package does nothing until the web server or the PHP-FPM workers restart. Check the PHP that serves traffic. The command-line version, the web server version, and a copy bundled inside an application can all differ. Version numbers can mislead. Linux vendors often backport fixes without changing […]

Team reviewing MCP integration platform showing fragmented custom connectors replaced by clean standardized MCP connections Engineering & Architecture, Growth Strategy, Other

Quick Answer: The Model Context Protocol (MCP) is an open standard that gives AI models a consistent way to connect to external data sources, tools, and systems. Instead of building a custom connector for every new integration, organizations deploy a single MCP server layer that any compatible AI model can query,  replacing fragile, one-off wiring […]

Robotic hand holding a glowing AI brain — illustrating the AI technical debt crisis in enterprise software development Digital Transformation, Engineering & Architecture

Here is a scenario playing out in engineering teams right now. A company spent the last two years integrating AI into its stack. Copilot for code. An LLM-powered support bot. A few generative features were shipped to production. Leadership is happy, the AI adoption budget got spent, features went live, and the press release wrote […]

LN Webworks Logo
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.