UK IT & website support · plans from £25/month · £45/hour ad-hoc01623 650333 · Client login
Get help

PHP2Shell Check and PHP Update UK

dijitul support checks whether your website is exposed to PHP2Shell, the critical PHP flaws made public in October 2026. We confirm your exact PHP version, get it updated to a fixed release or, on older PHP, protected, check the site still works and look for signs of tampering. Any UK host, £45 an hour + VAT.

Updated 21 October 2026 · by the dijitul support team · reviewed by , founder, building websites since 1996

Sound familiar?

  • Your host has emailed about a critical PHP vulnerability and you are not sure what it means for you
  • You do not know which PHP version your website runs
  • WordPress Site Health shows PHP 8.1, 8.0, 7.4 or older
  • Your host cannot tell you whether your PHP version has been fixed or protected
  • Your logs show memory-limit errors or repeated 500 errors you cannot explain
  • The developer who set up your hosting has gone quiet and nobody else has access

Key facts

  • PHP2Shell is two flaws in PHP itself, CVE-2026-109618 and CVE-2026-109619, both rated Critical (CVSS v4.0 9.2) by the PHP security team
  • Wiz Research, via Patchstack, found every PHP version from 5.4 onwards is affected
  • Fixed releases: PHP 8.5.12, 8.4.27, 8.3.36 and 8.2.35, released 21 October 2026
  • PHP 8.1 and older are end of life and have no official fixed release
  • On older PHP, a vendor-patched build or a mitigation such as Hosted Power's open-source php_uploadprogress_guard, plus Cloudflare, reduces the risk. These are mitigations, not an official fix
  • Updating WordPress, plugins or your theme does not fix it. Updating or protecting PHP does
  • We work on sites hosted with any provider: cPanel, Plesk, a VPS or your host's own panel
  • £45 an hour + VAT, or use the included hours on a Business or Complete plan

What PHP2Shell is

PHP2Shell is the nickname for two flaws in the PHP interpreter, the software underneath WordPress, WooCommerce, Joomla, Drupal, Magento and most small business websites. They are tracked as CVE-2026-109618 and CVE-2026-109619, and the PHP security team rates both Critical, CVSS v4.0 9.2. Wiz Research, via Patchstack, found that every PHP version from 5.4 onwards is affected, and the NCSC's alert says: "Organisations using any version of PHP are affected."

An attacker does not need to log in. An unauthenticated web request can lead to remote code execution, meaning the attacker's own code running on your server. Wiz demonstrated this against the latest WordPress, Drupal and Joomla, and showed that server memory holding passwords, tokens and API keys could be read even without it.

This is not a WordPress or plugin bug. As Cloudflare puts it, "updating website code or a plugin(s) alone does not fix these vulnerabilities". Only updating PHP does.

What we do

  1. Check your exact PHP version. We confirm the full version number (for example 8.4.27, not just 8.4) for every site on your hosting account, plus the command-line version your scheduled tasks use.
  2. Update or protect PHP. On 8.2 or later, we get you onto the fixed release for your branch: 8.5.12, 8.4.27, 8.3.36 or 8.2.35, or later. On 8.1 or older, we check for a vendor-patched build or a mitigation such as Hosted Power's open-source php_uploadprogress_guard, with Cloudflare in front, or upgrade PHP if you would like to. Where your host controls PHP, we tell them exactly what is needed and follow it up.
  3. Check the site works on the new version. We take a backup first, then check key pages, contact forms, checkout, the admin area and the error log. If you choose to move up from 8.1 or older, old plugins or custom code can break, and we fix what breaks.
  4. Look for signs of tampering and backdoors. Unusual multipart requests followed by memory-limit errors or repeated 500 errors, oversized PHPSESSID cookies, unexplained PHP worker restarts, recently changed files, PHP files in upload folders, unknown admin users and scheduled tasks nobody set up.
  5. Rotate credentials if needed. If anything looks wrong, or the site sat on an unfixed version while attacks were under way, we change the passwords, keys and tokens the server holds: database, admin and hosting logins, API keys, payment and email (SMTP) credentials, and WordPress salts.

We tell you what we checked and what we found. No check can prove a server was never touched, so we will not promise that, but we will tell you plainly if something looks wrong.

Staying on PHP 8.1 or older

You do not have to move off older PHP to deal with PHP2Shell, but you should be clear about what protects you. PHP 8.1, 8.0, 7.x and 5.6 are end of life, so there is no official fixed release for them. What is available instead:

  • A vendor-patched build. Some Linux distributions and long-term support vendors ship backported fixes, and the PHP team published minimal backports for 7.4, 8.0 and 8.1 for people who build PHP from source.
  • Hosted Power's php_uploadprogress_guard. An open-source (MIT) PHP extension that closes the multipart upload path of both flaws on unpatched PHP 5.6 through 8.5. It detaches the session upload-progress callback, uses the patched multipart parser from the official fix, and stops oversized requests with a 413 error before PHP runs out of memory.
  • Cloudflare in front, so its emergency firewall rules see the traffic first.

These are mitigations, not an official fix. The guard's own README says the patched release is the only complete mitigation, and it does not cover application-level out-of-memory errors or per-site PHP overrides set in .htaccess or PHP_VALUE.

Upgrading to 8.2 or later is still the best long-term option if you want it. It can be a quick switch or a real upgrade depending on your plugins, theme and custom code, and we test it on a copy first. See PHP version upgrades and our guide to PHP end of life.

When your host cannot help

If your host manages PHP for you, ask them in writing when the fixed release will be applied or, on older PHP, which patched build or mitigation they use. Not every hosting account can be sorted quickly: old servers, unmanaged VPSs, resold hosting and accounts where a former developer holds the logins are the usual sticking points.

If your host cannot give you either, there are two routes. We can upgrade the site to a supported PHP version, or move it to dijihost, dijitul's managed UK hosting, which still offers older PHP versions (5.6, 7.x, 8.0 and 8.1) so old sites keep running. dijihost protects them in layers: Cloudflare's WAF in front, a security extension that closes the known attack path on old PHP, hardened PHP settings, each site isolated, and monitoring for signs of attack, with a vendor-patched build where one exists. On end-of-life PHP those layers are mitigations, not an official fix. We copy the site, test it on the new server and only switch DNS once it works. See website migration support.

Cloudflare and firewalls are a stopgap

Cloudflare deployed emergency firewall (WAF) rules at 03:02 UTC on 21 October, on every plan with the WAF, including Free. Cloudflare's CTO called them "a stopgap only", and the rules only cover traffic that passes through Cloudflare's proxy (the orange cloud). A site whose DNS is on Cloudflare but not proxied, or that can be reached directly at its server IP address, is not shielded. We check this as part of the job, but the fix is still updating PHP.

How to get started

Call 01623 650333 or send us a message with your website address, who hosts it, and a hosting or control panel login if you have one. If you do not know who hosts the site, we can find out from public DNS records. The work is £45 an hour + VAT (30-minute minimum, then 15-minute blocks), and we tell you the likely time before we start. On our Business (£50 a month + VAT) or Complete (£99 a month + VAT) plan, it can come out of your included monthly hours.

Prefer to do it yourself? Follow our step-by-step PHP2Shell checklist, which includes an email you can send to your host.

What it costs

Support plans from £25 a month + VAT, or £45 an hour + VAT for one-off fixes. Pick a plan if you want it looked after every month, or pay by the hour for a one-off job.

Essential

Keep it updated, backed up and watched.

£25 a month + VAT
  • Website software updates (core, plugins, themes) applied and checked
  • Daily backups
  • Uptime monitoring
  • Security monitoring
Start Essential

Business

Updates plus an hour of fixes every month.

£50 a month + VAT
  • Everything in Essential
  • 1 hour of fixes or changes every month
  • Priority support
Start Business

Complete

Website and your team's IT, covered.

£99 a month + VAT
  • Everything in Business
  • 3 hours of fixes or changes every month
  • IT and Microsoft 365 helpdesk for your team
Start Complete
£45 an hour + VAT
No plan? The first 30 minutes are the minimum charge, then we bill in 15-minute blocks.
Book a fix

Frequently asked questions

Is my website affected by PHP2Shell?

Very likely, if it runs on PHP. Wiz Research, via Patchstack, found every PHP version from 5.4 onwards is affected, which covers WordPress, WooCommerce, Joomla, Drupal and most bespoke sites. What matters is whether your PHP has been updated to a fixed release: 8.5.12, 8.4.27, 8.3.36 or 8.2.35, or later.

Will updating WordPress or my plugins fix PHP2Shell?

No. The flaws are in PHP itself, not in WordPress or plugins, and Cloudflare says updating website code or plugins alone does not fix them. Keep WordPress updated anyway, but the fix is updating PHP to a fixed release, which your host or dijitul can do.

My site is on PHP 8.1. Do I have to upgrade?

No, but it needs protecting. There is no official fix for PHP 8.1 or older. Ask your host whether they have applied a vendor-patched build or a mitigation such as Hosted Power's open-source php_uploadprogress_guard, with Cloudflare in front. These are mitigations, not an official fix. Upgrading to 8.2 or later is an option, and dijitul can test it on a copy first.

My site is behind Cloudflare. Is that enough?

Not on its own. Cloudflare's emergency rules help, but its CTO called them a stopgap only, and they only apply to traffic going through Cloudflare's proxy. A site that can be reached directly at its server IP address is not shielded. Update PHP as well.

Do I have to move my hosting to dijitul?

No. dijitul works on sites hosted with any provider, and if your current host can apply the fixed PHP release, that is usually the simplest route. We only suggest moving when a host can neither fix nor protect your PHP version, and you choose where the site goes.

Can you tell if my site was attacked through PHP2Shell?

We look for the warning signs: unusual multipart requests followed by memory-limit errors or repeated 500 errors, oversized PHPSESSID cookies, unexplained PHP worker restarts, and backdoors or changed files. These signs are not proof either way, so if we find them we treat the server as possibly compromised and rotate its passwords and keys.

How much does a PHP2Shell check and update cost?

dijitul charges £45 an hour + VAT, with a 30-minute minimum then 15-minute blocks, and tells you the likely time before starting. Clients on the Business (£50 a month + VAT) or Complete (£99 a month + VAT) plans can use their included monthly hours.

Are sites hosted with dijitul covered?

dijitul has used Cloudflare in front of hosted sites for over a decade, so proxied sites hosted with us were behind Cloudflare's emergency rules from 03:02 UTC on 21 October. Supported versions (8.2 to 8.5) get the official fixed releases. Older versions stay available, protected by layers including a security extension, hardened settings and monitoring, which are mitigations rather than an official fix. We are also checking hosted sites for signs of tampering.

Related

Get it fixed

One-off fixes are £45 an hour + VAT. You'll know the likely cost before we start.

Call usGet help now