PHP2Shell emergency check: inspect the evidence, confirm the PHP update
Urgent · current checker

Emergency security check · 22 October 2026

Is your PHP
update confirmed?

Check a website’s public PHP version evidence for the two PHP2Shell vulnerabilities, then see what your hosting provider needs to verify.

Urgent PHP security releases

Update PHP itself, including the runtime behind your website

PHP has released fixes for two critical remote code execution vulnerabilities. A WordPress, plugin or theme update does not establish that PHP has been patched. Ask your host to confirm both fixes and that every web-serving PHP worker has been restarted or replaced.

Read PHP’s security advisory · Advisory rules reviewed 22 October 2026.

Read the PHP2Shell security bulletin. A plain-English guide to the risk, safe-check limits, the IT-provider patching process and costs, with a detailed technical appendix.

Download security bulletin (PDF, 4 pages)

Free public checker · no account needed

Check the visible evidence

HTTPS by default. Use a homepage or a known application page, without a query or fragment. Normal www/apex redirects are followed. If a homepage exposes no PHP version, the checker also tries /index.php within the same budget.

Loading the anti-spam check…

Ordinary GET requests; response headers only. No uploads or exploit attempts. Public IPv4 endpoints only, with a 22-second check budget.

Can this find what an attacker could find?

It checks public responses, canonical redirects and a normal PHP entry point. A PHP session cookie is reported as a hint; its value is discarded. Hidden PHP versions and blocked requests receive specific explanations rather than a generic verdict.

Proving these memory-corruption flaws can involve triggering memory exhaustion or stale worker state. A failed exploit attempt would not prove a patch. This checker does not perform those exploit tests. Even Tenable’s current PHP2Shell web check relies on the application’s reported version. Where the web evidence is insufficient, the patch status remains unverified.

Upstream fixes · both CVEs

Fixed PHP releases

First upstream releases containing both PHP2Shell fixes
PHP branchFirst fixed release
8.28.2.35
8.38.3.36
8.48.4.27
8.58.5.12

PHP 8.1 and older need a verified vendor backport or an upgrade. Vendor packages can retain an older version number after a security fix; compare the complete installed package with your vendor’s advisory.

When the version is hidden

Confirm with your host

  1. Inventory every PHP application, origin and web-serving pool, including systems behind a CDN.
  2. Get the installed package name and full build version, plus the vendor advisory covering both CVEs.
  3. Confirm all web workers use the corrected build. The command-line PHP version may differ from the website’s runtime.
  4. If a patch cannot be applied promptly, use the PHP team’s current guidance to reduce exposure or isolate the service.

Do not publish a phpinfo() page for this check. WAF rules and temporary configuration changes do not establish a complete fix.

Baxter explains

PHP2Shell, explained by Baxter

A short introduction to this emergency check. Review the evidence and hosting guidance on this page.