Updated
Is your site exposedto PHP2Shell?
If your website runs a PHP version older than 8.5.12, 8.4.27, 8.3.36 or 8.2.35, yes. PHP2Shell (CVE-2026-109618 and CVE-2026-109619) lets attackers run code on a web server without logging in. The flaw is in PHP itself, so updating WordPress or your plugins doesn’t fix it. Updating PHP does.
Most managed hosts patched on October 21. Check your site below, see what your host has said, or check your PHP version yourself.
Your result
PHP2Shell at a glance
Two flaws in PHP. One fix: update it.
PHP runs most of the web, including every WordPress site. These two bugs sit in PHP’s own request handling, before any WordPress code runs.
| What it is | Two vulnerabilities in the PHP interpreter. CVE-2026-109618: memory corruption when PHP runs out of memory part-way through setting up a request. CVE-2026-109619: a use-after-free, where state left over from one request is used by the next request on the same worker. |
|---|---|
| Nickname | PHP2Shell |
| Severity | Critical. Each is rated 9.2 under CVSS v4.0. |
| What an attacker gets | Code execution on the web server with the web server’s permissions, without logging in. Researchers also showed reading PHP worker memory, which can expose passwords, tokens and API keys. |
| Who’s affected | Any PHP installation that serves web requests: PHP-FPM, Apache with mod_php (the highest risk), php-cgi, FrankenPHP and LiteSpeed. Wiz Research says every PHP version back to 5.4 is affected by at least one of the two flaws. |
| Fixed in | PHP 8.5.12, 8.4.27, 8.3.36 and 8.2.35, released October 21, 2026 at 14:00 UTC. Linux distributions and long-term-support vendors got the patches in advance, so check your vendor’s packages. PHP 7.4, 8.0 and 8.1 are end of life; the PHP team published minimal source backports for them. |
| Not fixed by | WordPress, plugin or theme updates. The WordPress security team says no WordPress update is required or planned. |
| Exploitation | Details leaked on October 20, before the release. Researchers built working exploits, Patchstack logged active exploitation incidents reported by hosting partners, and Sucuri saw exploitation attempts in the wild. CISA called for immediate patching, and the UK NCSC advised taking systems offline if they can’t be protected yet. |
| Found by | Wiz Research found and reported both flaws; Calif researcher Ryan Austin independently found the first. Both were reported to the PHP project in August 2026. |
Host status
Has your host patched?
What each host has said publicly, in its own blog or status page. Checked . Hosts are updating fast, so follow the source link for the latest.
| Host | Status | Latest public update | Source |
|---|---|---|---|
| WordPress.com, Pressable and WordPress VIP | Protected | Automattic worked with the PHP security team before the release and says every site it hosts (WordPress.com, Pressable, WordPress VIP, WP Cloud) was already protected. No action needed. | WordPress.com blogOct 21, 19:57 UTC |
| SiteGround | Protected | SiteGround put server-level protections in place across all its servers before the release and says customers don't need to do anything. | SiteGround blogOct 21 |
| WP Engine | Patched | WP Engine added protections at its CDN (Cloudflare and Fastly) shortly before the release, then finished deploying the PHP patches. | WP Engine status pageOct 22, 01:19 UTC |
| Kinsta | Patching | Kinsta is blocking attacks with Cloudflare rules. Patched PHP 8.3 and 8.5 builds are rolling out; 8.4, 8.2, 8.1 and 7.4 were still being validated at its last update. Kinsta says customers don't need to do anything. | Kinsta status pageOct 21, 19:04 UTC |
| GoDaddy | Depends on plan | Managed Hosting for WordPress and Windows Hosting: patched. Web Hosting (cPanel): GoDaddy has its vendor's patches and is deploying them to all servers, with mitigations in place meanwhile. VPS: you update PHP yourself. | GoDaddy blogOct 22, 01:20 UTC |
| Bluehost | Patching | Bluehost says most servers are updated and the rest are rolling out. Its mitigations in the meantime may limit upload file sizes. | Bluehost statusOct 21, 12:18 ET |
| Hostinger | Depends on plan | Every Hostinger plan except VPS: Hostinger manages PHP and says there's nothing to do. VPS: you update PHP yourself. | Hostinger blogOct 21, 20:33 UTC |
| InMotion Hosting | Depends on plan | Dedicated servers: patched, including backports for PHP 7.4, 8.0 and 8.1. VPS: updates in progress. Shared: protected by precautions while InMotion waits for CloudLinux's patched PHP builds. | InMotion support newsOct 21, 18:04 UTC |
| 20i | Patched | 20i finished its rollout, including backported fixes for older PHP versions. | StackStatusOct 21, 20:01 UTC |
| Liquid Web and Nexcess | In progress | Liquid Web is deploying patched PHP builds across its hosting platforms. Customers who aren't patched yet can run a package update from their control panel. | Liquid Web statusOct 22, 10:33 ET |
| Rocket.net | In progress | Rocket.net is rolling out patches. | Rocket.net statusOct 22 |
| Flywheel | No statement found | We haven't found a public statement. Flywheel is part of WP Engine, but WP Engine's update doesn't name it, so ask Flywheel support. | No statement foundOct 22 |
| Pantheon | No statement found | We haven't found a public statement yet. Check Pantheon's status page or ask support. | Pantheon statusOct 22 |
| Cloudways | No statement found | We haven't found a public statement yet. Cloudways manages the server stack, so ask support whether your server's PHP has been updated. | No statement foundOct 22 |
| HostGator | No statement found | We haven't found a public statement yet. HostGator is a Newfold Digital brand like Bluehost, but Bluehost's update doesn't name it, so ask HostGator support. | No statement foundOct 22 |
| IONOS | No statement found | We haven't found a public statement yet. Ask IONOS support whether your package's PHP has been updated. | No statement foundOct 22 |
| DreamHost | No statement found | We haven't found a public statement yet. Ask DreamHost support whether your plan's PHP has been updated. | No statement foundOct 22 |
| A2 Hosting (hosting.com) | No statement found | We haven't found a public statement yet. Ask support whether your plan's PHP has been updated. | No statement foundOct 22 |
| Cloudflare (CDN and firewall, not a host) | Stopgap only | Cloudflare deployed firewall rules for every customer, free plans included. Its CTO called this a stopgap: it only helps if attackers can't reach your server directly, and it doesn't replace patching PHP. | The RepositoryOct 21 |
| Your own server, VPS or cloud instance | You patch | You or your developer have to update PHP: install your OS vendor's patched package or PHP 8.5.12, 8.4.27, 8.3.36 or 8.2.35, then restart PHP-FPM or Apache. | PHP security advisory |
How to read this: “Protected” means the host says it blocked attacks before the release; “Patched” means it says it installed the fixed PHP; “Depends on plan” means managed plans are covered but self-managed servers aren’t. No statement doesn’t mean a host hasn’t patched: some patch quietly. If your host isn’t listed, ask them directly.
Check it yourself
Find your PHP version in a minute.
Then compare it with the fixed releases: 8.5.12, 8.4.27, 8.3.36, 8.2.35 or newer in the same branch. Anything 8.1 or older is end of life.
- WordPressTools → Site Health → Info → Server. “PHP version” is the one serving your site.
- cPanel hostingSoftware → MultiPHP Manager shows the version per domain. Hosts patch these builds themselves, so ask yours whether its packages include the fix.
- Managed WordPress hostsWP Engine, Kinsta, Flywheel and similar show PHP in each site’s settings. The host updates the builds behind them.
- Your own server or VPSRun
php -v, then check the version your web server actually uses (PHP-FPM or Apache’s module). They can differ. Check containers and staging too.
What to do now
It depends on who runs your PHP.
- On managed WordPress hostingYour host updates PHP. Confirm your plan is covered (staging and older sites too), then check for signs of compromise.
- On shared cPanel hostingMake sure the PHP version selected for your site is one your host has patched. Some shared hosts are still on temporary mitigations while they wait for patched packages.
- On a VPS or your own serverYou patch. Install your OS vendor’s package or 8.5.12, 8.4.27, 8.3.36 or 8.2.35, then restart PHP-FPM or Apache.
- Stuck on PHP 8.1 or olderAsk whether your host applied the PHP team’s backport, then plan an upgrade to 8.3 or 8.4. PHP 8.2 itself reaches end of life on December 31, 2026. Code rescue can handle the plugin fallout.
- If you can’t patch todayThe PHP advisory lists server-level stopgaps, like turning off session upload progress and changing how memory limits are set, but says they don’t make a server safe. Consider maintenance mode until it’s patched.
- After patchingA patch doesn’t remove a backdoor. Look for unfamiliar admin users, new PHP files (especially in uploads), unknown scheduled tasks, and rotate passwords, keys and salts the server holds.
Want us to look?
A post-patch check, from the inside.
The checker above can only see what your site shows the world. We log in, confirm the fix is really in place, and look for anything left behind.
PHP2Shell post-patch check
$350
Flat fee for one WordPress site. If we find signs of compromise, cleanup is quoted before we start.
Go on to a Code Rescue block for cleanup or a PHP upgrade, and the $350 counts toward it.
Book a check- The fix, confirmedThe PHP actually serving your live site and its staging copies, checked from the inside, not guessed from headers.
- A compromise sweepAdmin users, recently changed PHP files, the uploads folder, scheduled tasks, and WordPress core and plugin checksums.
- Firewall and origin checkWhether attackers can reach your server around Cloudflare or your host’s firewall.
- A plain-English summaryWhat we checked, what we found and what to do next, usually within two business days of access.
What is PHP2Shell?
PHP2Shell is the nickname for two critical vulnerabilities in PHP itself, CVE-2026-109618 and CVE-2026-109619, disclosed on October 21, 2026. Under the right conditions they let an attacker run code on a web server without logging in. They are fixed in PHP 8.5.12, 8.4.27, 8.3.36 and 8.2.35.
Is my WordPress site affected by PHP2Shell?
If it runs on a PHP version without the fix, yes. The flaws are in PHP, not WordPress, so any WordPress site on an unpatched PHP is exposed, whatever its plugins or theme. Most managed WordPress hosts patched or blocked attacks on October 21; on a self-managed server, whoever runs the server has to update PHP.
Does updating WordPress or my plugins fix PHP2Shell?
No. WordPress, plugin and theme updates don’t change the PHP version your server runs. The WordPress security team says no WordPress update is required or planned. Only a patched PHP fixes it.
Which PHP versions fix PHP2Shell?
PHP 8.5.12, 8.4.27, 8.3.36 and 8.2.35, or newer releases in those branches. Linux distributions also ship patched packages that can keep an older version number. PHP 7.4, 8.0 and 8.1 no longer get regular updates; the PHP team published minimal source backports for them, but the lasting fix is upgrading.
My host says it patched. Do I need to do anything?
Mostly no, but confirm two things: that your plan is covered (some hosts treat VPS and self-managed plans differently) and that staging copies and other sites on the account were updated too. If your site was exposed between October 20 and the patch, check it for signs of compromise, because patching doesn’t remove a backdoor.
Does Cloudflare or a firewall protect me from PHP2Shell?
It helps, but it’s a stopgap. Cloudflare deployed PHP2Shell rules for all customers, free plans included, and many hosts added firewall rules before patching. A firewall only protects a server attackers can’t reach directly, and the PHP project says only an update is a complete fix.
I’m on PHP 7.4, 8.0 or 8.1. What should I do?
Ask your host whether it has applied the PHP team’s backport or a vendor fix for your version. Then plan an upgrade to PHP 8.3 or 8.4: PHP 8.2 itself reaches end of life on December 31, 2026. Older plugins and themes sometimes break on the upgrade, so test on a staging copy first.
How does the Codified PHP2Shell checker work?
It loads your homepage once, the way a browser would, and looks up your domain’s public DNS records. From the response it reads what your server chooses to show (the PHP version if advertised, the platform, the host and any firewall in front) and compares that with the fixed releases and your host’s public statement. It sends no attack traffic, and we don’t keep a list of the sites people check. The plain-English summary and the email to your host are written by AI from that result, or from a template if AI is unavailable.
Can a checker tell me my site is safe from PHP2Shell?
Not from the outside. Most well-run servers hide their PHP version, so an outside check often has to rely on the host’s public statement. Testing for the flaw directly means pushing PHP to run out of memory, which can crash its workers, so we don’t. To be sure, check the version from inside (WordPress Site Health or your hosting panel), or have someone check it for you.
How do I know if my site was hacked through PHP2Shell?
Common signs are admin users you don’t recognize, new or recently changed PHP files (especially in wp-content/uploads), unknown scheduled tasks, unexpected redirects, and bursts of multipart requests followed by memory errors or 500 errors in your server logs. None of these prove it either way. If you see them, patch first, then treat the server as compromised and rotate the passwords and keys it holds.
Sources
Where these facts come from.
- PHP project security announcement, October 21, 2026 (fixed versions, affected setups, mitigations)
- WordPress.org: Critical PHP Security Release (no WordPress update needed)
- Rapid7: CVE-2026-109618 and CVE-2026-109619 analysis (CVSS, attack conditions)
- Patchstack: PHP major vulnerability alert (timeline, exploitation reports, Wiz research)
- The Repository: hosts across the WordPress ecosystem race to protect customers (host roundup, discovery, Cloudflare)
- Search Engine Journal: Critical PHP core security flaws
- Host statements: linked in the host status table.
Updates
What changed on this page.
- Published the checker and this page. Host statuses taken from 11 hosts’ own public updates.
/services/code-rescue
Patched, but not sure what you’re running?
Old PHP, a plugin that breaks on the upgrade, or a site nobody has touched in years. We get it current and keep it that way.