WP2Shell vs PHP2Shell: Two Bugs, Two Fixes
WP2Shell and PHP2Shell have similar names and get confused constantly, but they are different vulnerabilities fixed in different ways. Here's a plain-English comparison, who is responsible for each, and a checker for the PHP side.
By the Presscomet teamPublished 10 min read
On this page
Are WP2Shell and PHP2Shell the same thing?
No. They are two different vulnerabilities, disclosed three months apart, in two different pieces of software. The names are close enough that people search for one and find the other, and both can end with an attacker running a “shell” on your server, so the confusion is understandable. But if you treat them as one problem you will fix the wrong thing.
Here is the one-sentence version of each:
- PHP2Shell is a pair of bugs in PHP itself — the language runtime your host installs to run WordPress. It is fixed by updating PHP on the server, which on most sites is your host’s job.
- WP2Shell is a flaw in WordPress code. It is fixed by the ordinary WordPress, plugin and theme updates you already run — your job.
That difference — whose software has the bug, and therefore who patches it — is the whole story. Everything below just fills it in.
- PHP2Shell CVEs
- CVE-2026-109618 · CVE-2026-109619
- PHP2Shell fixed by
- Updating PHP (host)
- WP2Shell CVEs
- CVE-2026-63030 · CVE-2026-60137
- WP2Shell fixed by
- Updating WordPress (you)
WP2Shell vs PHP2Shell, side by side
If you only read one thing, read this table. A site is only fully covered when both columns are green.
| PHP2Shell | WP2Shell | |
|---|---|---|
| What it is | Two bugs in the PHP language runtime | A flaw in WordPress code (core/plugin) |
| CVE IDs | CVE-2026-109618 · CVE-2026-109619 | CVE-2026-63030 · CVE-2026-60137 |
| Disclosed | October 2026 | July 2026 |
| Severity | Critical · CVSS v4.0 9.2 | WordPress-layer flaw (see your plugin/host advisory) |
| Where the bug lives | In PHP itself — below WordPress | Inside WordPress / a plugin |
| Who fixes it | Your host / server admin (update PHP) | You (update WordPress, plugins, themes) |
| How it's fixed | Patch PHP to a fixed build + restart workers | Run normal WordPress & plugin updates |
| Do WP updates fix it? | No — WordPress updates can't touch PHP | Yes — that's exactly the fix |
The trap that catches most people
PHP2Shell: a bug in PHP itself
Every WordPress site is a pile of PHP files, and something has to read and run them on each request: the PHP runtime. PHP2Shell is the nickname for two bugs in that runtime, CVE-2026-109618 and CVE-2026-109619, both rated CVSS v4.0 9.2 (Critical) by the PHP project. Under the right conditions they let an unauthenticated attacker run code with the privileges of the web server’s PHP worker.
Both are about PHP losing track of its own memory while handling a request:
- CVE-2026-109618 — an out-of-memory condition interrupts PHP while a request is only partly set up, and the clean-up code then trusts data that was never finished.
- CVE-2026-109619 — internal state outlives the memory it points to, so a later request on the same worker can reuse the leftovers. Researchers also showed it can leak chunks of server memory, which may contain passwords, session tokens or API keys.
Because some demonstrated attack paths run before WordPress has loaded a single line (during PHP’s own request parsing), WordPress updates and security plugins cannot fix this one. The PHP project’s guidance is blunt: updating PHP is the only complete fix. There is a full walkthrough in our PHP2Shell and WordPress guide, and a deeper, CVE-by-CVE explainer in CVE-2026-109618 & CVE-2026-109619 explained.
WP2Shell: a bug in WordPress
WP2Shell (tracked as CVE-2026-63030 and CVE-2026-60137) is a separate WordPress-layer vulnerability that surfaced in July 2026, months before PHP2Shell existed. It lives in WordPress code, not in the PHP runtime, which means it behaves like the WordPress vulnerabilities you are used to: it was addressed through the normal update channel.
In practice that means WP2Shell is fixed the boring, familiar way — by keeping WordPress core, your plugins and your themes current. If you have automatic updates enabled, or you have applied updates since July 2026, you are most likely already covered. The reason it keeps coming up now is simply that its name collides with PHP2Shell in search results.
Why both end in “2Shell”
“2Shell” is just shorthand for “leads to a shell” — remote code execution, where an attacker can run commands on your server. Plenty of unrelated bugs get that nickname. Shared outcome, different cause: that is exactly why you have to fix them in different places.
Who fixes each, and how
The fastest way to not waste an afternoon is to route each bug to the right owner.
Owner: whoever controls the server’s PHP. On managed or shared hosting that is your host; on a VPS it is you.
- Find your PHP version in Tools › Site Health › Info › Server.
- Compare it with the fixed releases: 8.5.12, 8.4.27, 8.3.36, 8.2.35 (21 Oct 2026). Older branches need a vendor-backported build or an upgrade.
- Update PHP, then restart PHP-FPM / Apache / LiteSpeed so the patched code is actually loaded.
Not sure whether your host did this? Our what-to-ask-your-host guide has a copy-paste email, and how to check and update your PHP version covers switching versions safely.
Owner: you, the site administrator — this is ordinary WordPress maintenance.
- Open Dashboard › Updates and apply any pending WordPress core update.
- Update every plugin and theme, especially anything that hasn’t been touched in a while.
- Turn on automatic updates for core and trusted plugins so the next WordPress-layer bug is handled without you.
Because WP2Shell was fixed through the normal channel months ago, a maintained, up-to-date site is almost certainly already covered. If you suspect your site was compromised at any point, work through the hacked-site recovery checklist.
For the bigger picture on keeping both layers healthy — updates, backups, logins and hosting choices — see our WordPress security guide.
How to check you’re covered for both
For WP2Shell, the check is quick: open Dashboard › Updates and confirm WordPress core, plugins and themes show no pending updates. If they’re current, you’re covered.
For PHP2Shell, answer three questions and the checker below will tell you where you stand. It runs entirely in your browser and sends nothing anywhere.
Interactive checker
Am I affected by PHP2Shell?
Runs in your browser · nothing is sent
- 1. PHP version
- 2. Server API
- 3. Hosting
- 4. Verdict
A low PHP version number isn’t always bad news
8.4.26 while being fully protected. So a number below 8.4.27 does not always mean unpatched. Ask your host to confirm, in writing, that both CVEs are fixed and when PHP was restarted.A stack where PHP2Shell can’t apply
There is a reason PHP2Shell and WP2Shell can be confused in the first place: a classic WordPress site stacks WordPress code on top of a PHP runtime, so a bug in either layer is yours to worry about. Take one layer out of the request path and that whole category of problem goes with it.
Classic WordPress
- Web server (Apache / Nginx / LiteSpeed)
- PHP runtime ← PHP2Shell lives here
- WordPress core + every active plugin
- MySQL / MariaDB
PHP-free stack
- CDN / web server
- Static HTML from the cache (most requests stop here)
- Node.js app — admin, editor, API
- SQLite file
That is what Presscomet is: a WordPress-compatible platform with the same wp-admin, block editor, permalinks and REST API, rebuilt to run on Node.js with a single SQLite file and no PHP runtime at all. With no PHP in the picture, PHP2Shell and the entire PHP-runtime class of bugs simply don’t apply.
What Presscomet does — and doesn't — change
Removing PHP removes the PHP2Shell class of bug. It does not make a site “unhackable”: Presscomet has its own Node.js runtime, npm dependencies, admin login, SQLite database and host operating system, and all of those still need patching and will have their own advisories one day. It also doesn’t run PHP plugins — the common jobs are built in — and WooCommerce stores aren’t supported.
Step 1: Keep both WordPress layers patched today
Update WordPress and plugins for WP2Shell, and confirm your host patched PHP for PHP2Shell. That covers the live risk right now.Step 2: Decide who owns each layer going forward
Write down who patches PHP and who patches WordPress on your site. The sites that came through October calmly were the ones that already knew.Step 3: Consider taking PHP out of the path
If your site is mostly content, a PHP-free stack means PHP-runtime bugs stop being your problem entirely.
Curious whether it fits your site? Check your site with the migration tool — it only reads your public pages and lists what would move over, and it never changes anything on your current host.
Sources
Facts checked against these sources on October 24, 2026. Things change quickly; the vendor advisory always wins.
- [1]PHP 8.5.12, 8.4.27, 8.3.36 and 8.2.35 security releases (PHP2Shell) — PHP.net
- [2]GHSA-w8hw-w9fx-j79w (CVE-2026-109618) — php-src on GitHub
- [3]GHSA-6wmf-4rv5-p3rp (CVE-2026-109619) — php-src on GitHub
- [4]PHP2Shell: what it is, and what to do on your WordPress site (notes WP2Shell is separate) — Meow Apps
- [5]PHP2Shell (CVE-2026-109618, CVE-2026-109619) — SOCRadar
- [6]PHP2Shell FAQ — watchTowr
- [7]PHP2Shell exploitation started days before patches — SecurityWeek
- [8]Known Exploited Vulnerabilities catalog — CISA
Frequently asked questions
Are WP2Shell and PHP2Shell the same thing?
No. PHP2Shell is the nickname for two vulnerabilities in the PHP runtime itself (CVE-2026-109618 and CVE-2026-109619, disclosed October 2026). WP2Shell refers to a separate WordPress vulnerability (CVE-2026-63030 / CVE-2026-60137) from July 2026. The names sound alike and both can lead to a web shell, but they live in different software and are fixed in different ways.
What is the difference between PHP2Shell and WP2Shell?
PHP2Shell is a flaw in PHP, the language runtime underneath WordPress, so it affects any PHP website and is fixed by updating PHP on the server. WP2Shell is a flaw in WordPress code, so it is fixed by updating WordPress, plugins and themes the normal way. One is your host's responsibility, the other is yours.
Does updating WordPress fix PHP2Shell?
No. PHP2Shell is in the PHP runtime, not in WordPress core, plugins or themes. Updating WordPress is good practice and fixes WordPress-layer bugs like WP2Shell, but only updating PHP (or a backported build from your host) fixes PHP2Shell.
Does updating PHP fix WP2Shell?
No. WP2Shell is a WordPress-layer flaw, so a patched PHP runtime does nothing for it. You fix WP2Shell by applying normal WordPress core, plugin and theme updates. You need both fixes to be fully covered.
Which is more urgent, WP2Shell or PHP2Shell?
Both deserve prompt action, but as of late October 2026 PHP2Shell is the live incident: it was disclosed days before its patch, rated critical (CVSS 9.2), can be unauthenticated, and saw mass scanning. WP2Shell was handled through WordPress's normal update channel back in July. If your WordPress and plugins auto-update you are likely already covered for WP2Shell; PHP2Shell may still be waiting on your host.
Is PHP2Shell in the CISA KEV catalog?
Not as of 24 October 2026. CISA urged organisations to update PHP immediately and advised taking PHP systems offline if they can't be patched, but neither PHP2Shell CVE had been added to the Known Exploited Vulnerabilities catalog when this was last checked.
Is Presscomet affected by either one?
Presscomet has no PHP runtime, so PHP2Shell and the whole PHP-runtime class of bugs do not apply to it. It is a reimplementation rather than WordPress running on PHP, so WordPress-code CVEs like WP2Shell don't apply in the same form either. That does not make it unhackable: it has its own Node.js runtime, npm dependencies, admin login, SQLite and host OS that all still need patching.
Presscomet keeps your wp-admin, editor, URLs and content, and serves pages without PHP or MySQL. Check your site for free, then migrate in one click — your old site is only ever read.
Keep reading
- SecurityPHP2Shell and WordPress: are you affected, and how do you fix it?
Two critical bugs in PHP itself put almost every WordPress site on an affected runtime until the host patches it. Here’s what happened in plain English, a checker that tells you whether you’re affected, and step-by-step fixes for every kind of hosting.
- HostingIs your WordPress host patched for PHP2Shell? What to ask (with an email template)
On most WordPress sites you can’t patch PHP yourself — your host has to. Here’s who is responsible on each kind of hosting, the four questions that get you a real answer, and a ready-to-send email.
- SecurityWordPress hacked? A step-by-step recovery checklist
Redirects to spam sites, admin users you never created, a warning from Google or a suspension notice from your host. Here’s the order to do things in, so you clean the site once and it stays clean.