PHP2Shell Vulnerability: What Website Owners Must Do
Two critical PHP flaws may enable remote code execution. Learn what PHP2Shell affects, how to check a site, and what owners should do to reduce risk now.

PHP2Shell: What Website Owners Need to Do About the PHP Flaws
A widely used programming language on the web is at the center of an urgent security response. Two PHP vulnerabilities may let an unauthenticated attacker run code on a server - without first logging in as an administrator. That means the risk isn't limited to the biggest platforms. Smaller business sites, WordPress installs, community forums, and other PHP-based services may need attention too.
The flaws are being referred to as PHP2Shell. Reports say the underlying issues existed for years, but recent research made them practical enough to be treated as real security problems. Some organizations have taken sites offline while they assess the risk, and security agencies have advised doing the same if an immediate update isn't practical.
If you run a website, don't waste time wondering whether you're "the kind of site" an attacker targets. Start by figuring out whether your hosting environment uses PHP, whether it has been patched, and what your provider recommends. This article covers what's known, why it matters, and what site owners and everyday users should do - without making things worse.
What happened with the PHP2Shell vulnerabilities?
PHP is a server-side language: it runs on a web server to generate pages, handle requests, and connect applications to data. It's used by a large portion of the web, including WordPress sites. W3Techs estimates PHP is used by 69.3 percent of websites that it can identify as using a server-side language. That doesn't mean every PHP site is exposed in the same way, but it does help explain why a PHP flaw can affect many different kinds of websites.
The reports describe two vulnerabilities that can lead to unauthenticated remote code execution. In plain terms: an attacker may be able to send a request to a vulnerable server and cause it to run code without having a valid account or password. The details depend on the server and the application, but remote code execution is serious because it turns a web-exposed weakness into the potential for deeper system control.
The vulnerabilities are identified as CVE-2026-109618 and CVE-2026-109619. They stem from different failures in how PHP handles internal request state:
- Out-of-memory handling: When PHP runs out of memory during a request, some internal data may be only partly initialized. Later cleanup code can then treat invalid data as if it were valid.
- Stale global state: State tied to one request can outlive the memory it depends on. A later request handled by the same worker can hit that stale state before normal initialization clears it.
These are technical summaries, not step-by-step instructions for recreating an exploit. The operational takeaway is that both issues are about how the PHP runtime manages memory and request data. This isn't a "change a password and you're done" situation, and it isn't just a "fix the plugin" issue either.
According to the reporting, an AI security group called Calif identified one issue using GPT-5.6 Sol, while security firm Wiz independently found and reported vulnerabilities using AI. The PHP Foundation said a possible exploit was theorized in 2024, but researchers hadn't found working attack paths at the time. The implication is that AI-assisted analysis helped move a hard-to-reason-about bug into something defenders now have to treat as actionable.
That said, it's still worth keeping perspective: AI doesn't "magically" find every vulnerability, and an exploit still depends on real-world conditions. Once technical details become public, though, the clock starts ticking for defenders - because they need time to confirm exposure and apply fixes.
Why are the PHP flaws considered serious?
The main concern is code execution without authentication. If an attacker can run code on a server, the impact can go far beyond what a visitor sees in the browser. Depending on permissions and configuration, a compromise could expose stored data, credentials, API keys, certificates, or database contents. A compromised server can also be used to attack other systems.
That doesn't mean every PHP site has already been breached. A vulnerability creates an opportunity; it isn't proof that an attack succeeded. The response should be urgent, but it should be grounded in what you can verify about your host and your application - not guesswork.
PHP adds an extra layer of complexity. PHP may be installed directly on a server, handled by a hosting provider, or built into a platform's infrastructure. A site owner might know they run WordPress, but not which PHP version processes the requests - or whether the provider has patched the runtime underneath. The visible site and the PHP runtime are separate layers with separate responsibilities.
There's also a lifecycle problem. The reports say sites running PHP 8.1 or older may be on versions that are no longer supported and may not receive a straightforward fix. When that's the case, the security response often includes upgrading to a supported PHP release, which may require testing themes, plugins, and custom code. In other words, older setups can add real friction to "patching quickly," even when the guidance sounds simple on paper.
Some organizations have chosen to take sites offline as a precaution. The NSA Cybersecurity account and the UK's National Cyber Security Centre reportedly advised organizations to consider taking systems offline if an immediate update isn't feasible. That may not be the right call for every small site - downtime has a cost - but leaving a vulnerable service exposed can carry a larger one, especially for sites that process payments or store sensitive information.
A practical rule of thumb is simple: treat a PHP-based service as potentially affected until your provider or administrator confirms otherwise. And don't confuse "we haven't seen an incident" with "the system is patched." Those are different questions, and they need different checks.
Who may be affected, and how can you check?
Start by figuring out where PHP runs. If you manage the server yourself, check the PHP runtime version and how it's deployed. If you use a hosting company, the host's control panel, support documentation, or technical support team will usually be the fastest way to confirm whether your site uses PHP and whether the provider has applied the fix.
A WordPress site often relies on PHP - but you still need to check the runtime itself. The hosting environment controls the runtime on many setups, while the site owner is responsible for keeping WordPress core, plugins, and themes current. Those update paths don't always line up. Updating a plugin won't patch the PHP runtime, and updating PHP doesn't automatically secure an outdated plugin.
Use a short checklist:
- Confirm whether PHP is involved. Check your hosting dashboard or ask your provider. If you run the server yourself, confirm the PHP runtime through your normal admin tools.
- Confirm which PHP version is running. Don't rely on notes from an old setup or a development environment. Verify the production runtime that serves the live site.
- Ask whether the provider applied the specific security fix. Don't accept a general "the server is maintained" response - ask about the affected vulnerabilities.
- Confirm the version is supported. Use the PHP supported versions page and follow the provider's guidance. The reports warn that older, unsupported versions may not receive a fix.
- Test the site after the runtime change. Verify essential pages and workflows - forms, checkout, scheduled jobs, and any integrations - ideally in a staging environment first.
If you use a fully managed website builder like Squarespace or Wix, the service generally runs the infrastructure and handles the PHP runtime itself, rather than giving you something you administer directly. Still, check the provider's security notice if they've posted one. A familiar brand name doesn't replace verification.
If you're on shared or managed hosting, contact the host before making server-level changes yourself. Providers may coordinate patching across many customers, and an unsupported manual change can break the site or make it harder to confirm what was actually fixed. For example, GoDaddy has reportedly told PHP customers to assume their sites are affected and update as soon as possible. Follow your provider's current guidance, not someone else's process.
For ordinary visitors, you typically can't inspect a PHP version on your device. This is a server-side issue. What you can do is check status updates from services you rely on - especially if you use them for storage or purchases. That's a sensible precaution, but it can't replace operators patching their systems.
What should website owners do now?
What you should do depends on whether you control the server, whether PHP is managed for you, and what "level" you can actually change. In every case, the order stays the same: confirm exposure, reduce risk, apply fixes through the right channel, then verify.
If you manage the server
Confirm the affected runtime and check the official PHP release information, plus any security advisory from your operating system or hosting vendor. Apply the vendor-supported fixed release as soon as it's available for your setup.
The source reports don't provide one single "fixed version number" that covers every PHP branch. Don't copy a version from an unrelated forum post. Use the guidance that matches your actual deployment.
If you can't patch immediately, decide how exposed you are. If your site handles payments, sensitive records, business credentials, or customer accounts, a temporary shutdown or restricting access may be safer than leaving it publicly reachable. If you can't shut down, talk to your host or security team about mitigations. Avoid improvising network or application changes if you don't know how they affect the service.
Before and after patching, document what you changed: the PHP version, the time of the change, the system or host involved, and who confirmed the work. Keep logs and follow your incident-response process if you notice suspicious activity. A patch lowers exposure to the known flaw, but it doesn't prove the system wasn't already compromised before the patch.
If a hosting provider manages PHP
Open a support request and ask questions you can get answers to:
- Is my production site running an affected PHP version or configuration?
- Has the fix for these vulnerabilities been deployed to the server serving my account?
- If not, when will it be deployed, and what should I do in the meantime?
- Is my PHP version still supported, or do I need to upgrade to a newer release?
- What evidence or logs should I review if I suspect compromise?
If your provider can't give clear answers, escalate through their security or incident-support process. For business-critical services, consider disabling the site or limiting access until the provider confirms remediation.
"Managed hosting" doesn't remove the need to understand who patches the runtime and when that work is finished. Someone still owns that responsibility.
After the patch
Test the site's important functions, not just the home page. Check authentication, forms, checkout, API connections, background tasks, and any custom PHP features. Review error logs for issues caused by the runtime update. If something breaks, coordinate with your host or developer rather than rolling back to a vulnerable version without a mitigation plan.
Then, review the basics that often matter during real incidents: update the CMS and extensions, remove unused plugins and accounts, rotate credentials if you have reason to believe they may have been exposed, and make sure backups are recent and restorable. None of that replaces the PHP patch - but it helps address the broader possibility that a runtime flaw could have exposed other parts of the environment.
Keep the response proportional. A personal photo blog and a healthcare portal don't have the same risk level or downtime cost. But both need to answer the same questions: is PHP in use, and has the relevant fix been applied?
Conclusion
PHP2Shell is a reminder that a security issue inside a common runtime can turn into an operational problem quickly - regardless of company size. The right response isn't panic or guesswork. Identify whether your site uses PHP, confirm the version and patch status with the responsible provider, and reduce exposure if a fix isn't available immediately.
If you run a website, contact your host now and get a specific answer about the production environment. If you're a visitor, follow updates from the services you depend on. Clear ownership and verified patching beat assumptions every time.