PHP2Shell attacks on servers are no longer a theoretical risk buried in a security bulletin. Cloudflare reported on October 22 that attempts to exploit two critical PHP vulnerabilities rose from thousands to millions within hours. Patches are available, but an internet-facing server that still runs an affected build is giving automated scanners more time to find it.
The immediate action is straightforward: identify the PHP version actually serving every public site, install the security release, and restart PHP-FPM or the web server. Fixed versions are PHP 8.5.12, 8.4.27, 8.3.36, and 8.2.35. If patching cannot be completed safely, the UK NCSC and other authorities recommend taking the exposed service offline rather than leaving it reachable.
Why PHP2Shell attacks are urgent
CVE-2026-109618 and CVE-2026-109619 are rated 9.2 out of 10 and can allow unauthenticated remote code execution under specific conditions. In plain language, a crafted request may let an attacker run code without a valid account. That can lead to database theft, malicious redirects, altered pages, credential harvesting, or full server takeover.
This does not mean every WordPress site has already been compromised. The risk sits primarily with server owners, hosting providers, and organizations operating PHP applications. The scale matters because PHP powers a large share of the web, and automated PHP2Shell attacks can scan addresses much faster than administrators can manually inspect their infrastructure.
What administrators should check today
- Run
php -v, but also verify the runtime used by the web server and every virtual host. - Update from a supported repository, then restart PHP-FPM, Apache, or the relevant service.
- Review WAF and access logs for unusual requests, memory errors, new processes, and unexplained outbound traffic.
- Create and test a backup before major changes, and keep it outside the public web directory.
Shared-hosting customers may not control the operating system. In that case, check the PHP selector in the hosting panel and contact support if a fixed version is unavailable. Do not assume the migration is complete because the dashboard shows a new number. Test the public site, administration pages, checkout flow, scheduled tasks, and any custom integrations after the update.

A patch does not erase an earlier intrusion
After updating, inspect administrator accounts, plugin and theme changes, cron jobs, upload directories, SSH keys, and outbound connections. If there are signs of compromise, installing the patch does not remove a web shell or stolen credentials. Recovery should start from a known clean backup and include rotating database passwords, API secrets, SSH credentials, and administrator sessions.
Multi-factor authentication, restricted admin access, current plugins, and segmented backups are useful additional layers. They are not substitutes for the PHP patch. Our Serbian guide to CISA ransomware defense recommendations explains how segmentation and recovery planning reduce damage when prevention fails.
How to verify the PHP2Shell fix
Record the version before and after the change, the restart time, and the result of a functional test. Check all sites on the host, because one forgotten virtual host may still point to an older runtime. Container users should rebuild and redeploy a patched image instead of modifying a temporary running container that will disappear during the next deployment.
Official details and fixed releases are listed in the CERT-EU PHP advisory. Older, unsupported PHP branches need special care: the safest long-term answer is moving to a supported release, not treating a one-off backport as permission to postpone the upgrade indefinitely.
What ordinary site visitors should do
Visitors cannot patch someone else’s server. They can avoid entering credentials into a site showing unexpected redirects or errors, use unique passwords, enable multi-factor authentication, and watch for breach notifications. There is no reason to reset every password solely because PHP has a vulnerability, but a confirmed incident at a service you use should trigger a password change and session review.
PHP2Shell attacks on servers are a reminder that “automatic updates” are not universal magic. A provider may patch the base platform while an application remains tied to an old runtime. This time the signal is clear: fixed releases exist, scanning is intense, and waiting for a convenient maintenance window gives attackers an unnecessary advantage.
PHP2Shell attacks on servers: patch first, investigate second
The public proof-of-concept code does not turn every default PHP installation into an instant compromise. Exploitation depends on the target configuration and, in several demonstrations, another serious local-file-inclusion flaw. That nuance matters: teams should avoid theatrical shutdowns, but they should not postpone the update. Patch supported branches, preserve logs, and investigate unusual processes or files with a clear timeline.
Primary advisory and technical details: CERT-EU.





