Security

PHP2Shell (CVE-2026-109618/109619): What to Do Right Away

Giulia Fontana 6 min read

PHP2Shell (CVE-2026-109618/109619): What to Do Right Away
In this guide (7)
  1. 1What PHP2Shell is
  2. 2Who is at risk
  3. 3How the attack works, in brief
  4. 4What to do right away
  5. 5Why a web application firewall alone is not enough
  6. 6If your site is still on PHP 5 or PHP 7
  7. 7What this means for those using managed hosting

On October 21, 2026, the PHP project released an emergency patch for two critical vulnerabilities, dubbed PHP2Shell, that allow code to be executed on a server without any credentials. They affect every PHP-based site, not a single CMS: WordPress, PrestaShop, Joomla, WooCommerce and custom installations. Here's what they are, who is truly at risk, why an application firewall alone is not enough, and what to do right away.

On October 21, 2026, the PHP project released an emergency patch for two critical vulnerabilities, nicknamed PHP2Shell, that allow code execution on a server without any credentials. They affect every PHP-based site, not a single CMS: WordPress, PrestaShop, Joomla, WooCommerce and custom installations are all equally affected if the underlying PHP version is not up to date. Here's what they are, who is really at risk and what to do right away.

What PHP2Shell is

PHP2Shell is the name the security community has given to two distinct vulnerabilities at the heart of PHP, the language that powers most of the world's websites and ecommerce stores: WordPress, PrestaShop, Joomla, WooCommerce, Magento, and countless custom-built applications. The two flaws, identified as CVE-2026-109618 and CVE-2026-109619, both have a CVSS severity score of 9.2 out of 10 and allow an attacker to execute code on the server without needing any credentials, any administrative access, any password.

Technical details leaked online on October 20, 2026, ahead of the planned coordinated disclosure. The PHP project reacted by releasing patches the following day, October 21 at 1:30 PM UTC. According to researchers who monitor the network with dedicated sensor networks, active exploitation of these flaws began the very same day as the patch: that means, as you read this page, there are automated attack attempts underway against sites that haven't been updated.

Who is at risk

The risk doesn't depend on the CMS you use, but on the version of PHP that CMS runs on.

PHP VersionStatusWhat to do
8.5, prior to 8.5.12VulnerableUpdate to 8.5.12
8.4, prior to 8.4.27VulnerableUpdate to 8.4.27
8.3, prior to 8.3.36VulnerableUpdate to 8.3.36
8.2, prior to 8.2.35VulnerableUpdate to 8.2.35
8.1 and earlier versionsOut of official support, no patch planned for this flawCheck with your hosting provider, plan the upgrade
PHP 7.x and PHP 5.xEnd of life for years, no patch ever released for this vulnerabilityThe version needs to be replaced, not just updated

A detail that affects many small and medium-sized Italian businesses: a not-insignificant share of company websites still run on outdated PHP versions, often without the site owner even knowing it. Checking your own version today is a check that takes just a few minutes.

How the attack works, in brief

The two vulnerabilities exploit different internal PHP mechanisms.

  • CVE-2026-109618. PHP interrupts a request when it exceeds the configured memory limit. If the interruption occurs at a precise moment, for example during the processing of a deliberately malformed file upload, some data structures remain only partially initialized. The subsequent cleanup stage treats that incomplete data as valid, opening the way to code execution.

  • CVE-2026-109619. This involves a reference to data from a previous request, tied to PHP's upload progress feature, which remains active longer than it should on the same worker process. A subsequent request can access that reference before it is reinitialized, an error known as use-after-free, with consequences ranging from reading other users' memory to code execution.

In both cases, the outcome for an attacker is the same: the ability to upload and run a webshell, a script that lets them control the server remotely. We covered this in more detail in our article on what a webshell is and how to block it.

What to do right away

  1. Check your site's PHP version. Ask your hosting provider, or check directly in the control panel if you have access.

  2. If you're on PHP 8.2, 8.3, 8.4 or 8.5 but not on the latest patch, update right away to the correct version listed in the table above.

  3. If you're on PHP 8.1 or earlier, there is no patch for this specific flaw. Consider a hosting provider that applies updates for you, or plan the PHP version upgrade as a priority, not as a task that can be put off.

  4. In the meantime, if your hosting provider or your web application firewall has already rolled out a specific rule for this exploit, check that it's enabled, but treat it as a stopgap measure, not a substitute for the patch.

  5. Check your server logs for unusual requests to upload endpoints in the days following October 20, 2026, the date the technical details leaked ahead of the official patch.

Why a web application firewall alone is not enough

A web application firewall (WAF) can reduce the risk, but it's worth being precise here: according to the official advisory from CISA, the US cybersecurity agency, a WAF "may provide some protection until systems are updated", explicitly defining it as a secondary measure. Updating the PHP version remains what CISA calls "the essential fix".

The reason is technical: several security researchers have observed that the requests used to exploit PHP2Shell are small, around 450 bytes, and look like a normal multipart upload. Generic WAF rules, those based on request size or on recognizing known attack patterns such as SQL injection or cross-site scripting, aren't designed to catch this type of request: a rule written specifically for this exploit's particular pattern is needed. The same goes for the article we dedicated to how a web application firewall works: a WAF is a layer of defense, not a substitute for the patch.

If your site is still on PHP 5 or PHP 7

For those on PHP 5 or PHP 7, PHP2Shell isn't a problem that a patch will fix: those versions haven't received security updates for years, and this is just the latest in a series of flaws that remain permanently open on those installations. It's not a question of when the update will arrive: it won't. If your site is still on one of these versions, it was probably already at risk before PHP2Shell, and it will be again afterwards, for the next vulnerability and the one after that. As has happened in other cases we've documented, such as sites that stayed on an unsupported version of an ecommerce platform, staying on unsupported software is a choice you pay for in security, not in convenience.

What this means for those using managed hosting

On a traditional PHP installation, a shared hosting setup with WordPress, PrestaShop or Joomla installed manually, the responsibility for updating the PHP version almost always falls on whoever manages the site, site by site, one at a time. On managed hosting, the PHP version of the infrastructure is updated centrally by the platform provider, not by the individual customer: this is a real operational difference between the two models.

That said, it must be stated just as clearly: no web application firewall, including KeideaCMS's native one, eliminates the need to update the underlying PHP version. A WAF reduces the risk from a set of known attack techniques; it doesn't replace the patch, for any platform. If you manage business websites and want to know for certain which PHP version they run on and whether they're exposed to this flaw, the most direct way is a technical security check of your site, don't take the answer for granted.

Request a Technical Check of Your Site →

Frequently Asked Questions

It depends on the version of PHP it runs on, not on the CMS you use: WordPress, PrestaShop, Joomla, and custom installations are all affected in the same way if the underlying PHP version is not up to date. The versions affected by the patch released on October 21, 2026 are PHP 8.2, 8.3, 8.4, and 8.5 prior to 8.2.35, 8.3.36, 8.4.27, and 8.5.12 respectively. Older versions, PHP 8.1 and earlier, PHP 7.x, and PHP 5.x, do not receive any patch for this vulnerability.
Ask whoever manages your site's hosting: that's the most reliable source of information. If you have direct access to the hosting panel, cPanel, Plesk, or similar, the PHP version is almost always shown in a section dedicated to PHP or programming languages.
Only partially, and only as a temporary measure. CISA and several security researchers point out that the requests used to exploit this vulnerability are small and look ordinary: generic rules based on request size or known attack patterns aren't enough; a rule specifically written for this exploit is needed. Updating the PHP version remains the only complete solution.
There isn't one, and there won't be: those versions have been unsupported for years. The only real solution is to upgrade the installation to a supported PHP version, or to rely on a hosting provider that handles the update for you, instead of waiting for a patch that will never come.
For the most exposed sites or those handling sensitive data, security guidance, including CISA's advisory, suggests considering this option if the patch can't be applied quickly. For most business sites, the practical priority remains updating PHP as soon as possible and, in the meantime, checking whether your hosting provider or WAF already offers specific protection against this exploit.

You might also be interested in...

Do you need an e-commerce store or a website redesign?

Let's talk
  • Specialised consultation
  • Tailor-made solutions
  • Concrete results

Everythingin a singleSoftware

Talk to us for real

Our phone support is available every day from 09:00 to 18:00

+39 0835 239 514 Call us

Not your usual Web Agency

We follow you and always meet you halfway, even on spreading out your investment

Our projects

Need help

For information, quotes, or support, write to us

info@keideacms.it