PHP2Shell check · CVE-2026-109618 · CVE-2026-109619
PHP2Shell checker: is my PHP version affected?
Type a PHP version or paste the output of php -v. The PHP2Shell checker runs entirely in your browser, sends nothing to a server and never scans any host.
Last updated
Use the PHP2Shell checker below for every PHP runtime you operate: the host CLI, each PHP-FPM pool, Apache mod_php and each container image can all run different versions.
Tip: you can paste the whole first line of php -v, such as PHP 8.3.35 (cli) (built: …). The checker picks out the version number.
Is my PHP version affected by PHP2Shell?
- **Yes**, if you run PHP 8.2, 8.3, 8.4 or 8.5 below the fixed release in the table.
- **Probably yes**, if you run PHP 5.4 to 8.1: these branches are end of life and the PHP project shipped no official release. Some distributions (Ubuntu Pro, Debian LTS and others) backport the fix; see distro fixes.
- **Not affected per the advisory**, if you run the fixed release or newer in your branch, and you restarted every PHP worker after upgrading.
| Branch | Status | Fixed release |
|---|---|---|
| PHP 8.5 | Affected below the fixed release | 8.5.12 |
| PHP 8.4 | Affected below the fixed release | 8.4.27 |
| PHP 8.3 | Affected below the fixed release | 8.3.36 |
| PHP 8.2 | Affected below the fixed release | 8.2.35 |
| PHP 5.4 – 8.1 | End of life: no upstream fix; vendor backport or upgrade needed | — |
How to check if your server runs a vulnerable PHP version
These read-only commands only show versions on machines you control. Run them as the same user or inside the same container as the site, then paste the version into the PHP2Shell checker.
# 1. PHP version on the host (CLI)
php -v
# 2. PHP version inside each container
docker ps --format '{{.Names}}'
docker exec <container> php -v
# 3. Package version (shows distro backports)
dpkg -l | grep -E '^ii +php' # Debian / Ubuntu
rpm -qa | grep -i '^php' # RHEL / Alma / Rocky / Fedora / SUSE
apk info -v | grep -i '^php' # Alpine
# 4. Version the web server actually runs (FPM / mod_php may differ from CLI)
php-fpm -v 2>/dev/null || ls /usr/sbin/php-fpm*Which PHP versions are patched?
- Upstream fixed releases: **8.5.12**, **8.4.27**, **8.3.36** and **8.2.35** (source and Windows builds on php.net).
- Distribution packages: see the per-distro table in distro fixes.
- After upgrading, restart PHP-FPM, Apache (mod_php), php-cgi, LiteSpeed or FrankenPHP and rebuild containers. A running worker keeps the old code. Step by step: remediation.
PHP2Shell scanner vs version check
- A **version check** (this page) compares numbers you supply. It is safe, instant and works offline, but cannot see backports or tell whether the vulnerable code path is reachable.
- A **PHP2Shell scanner** sends requests to a server. Only run a scanner against systems you own or are authorised to test. This site does not scan, probe or fingerprint any third-party host.
- Many web servers hide the PHP version (
expose_php = Off), so remote checks miss them. Checking from inside the server is more reliable.
Check bundled products
- Control panels, NAS devices, appliances and all-in-one stacks ship their own PHP and are patched on the vendor’s schedule: cPanel, Plesk, aaPanel, XAMPP, Bitnami, Coolify, CloudPanel, Synology, QNAP and more.
- Per-product status, check commands and fixes: affected products.
- Many hosts or containers? Let an AI coding agent take the inventory: check with an AI agent.
If the PHP2Shell check says you are affected
- Upgrade to the fixed release for your branch, or install your distribution’s security update: remediation.
- Restart every PHP worker and confirm the new version with
php -vand a short-livedphpinfo()page you delete right after. - If you cannot patch soon, consider taking the service offline, as several organisations did: outage tracker.
Is this PHP2Shell checker safe to use?
Yes. It is a version-number comparison that runs in your browser. Nothing is sent to a server and no host is scanned.
Can I check a website I do not own?
No. Only check systems you own or are authorised to assess. This site never scans third-party hosts.
My distro shows PHP 8.3.6 but says it is patched. Who is right?
Your distribution. Backported packages keep the old upstream number. Check the package version against distro fixes.
Does a WAF rule make me safe from PHP2Shell?
No. WAF rules and php.ini changes reduce some paths only. Upgrading PHP and restarting workers is the fix.
Is PHP 7.4 or 8.1 affected by PHP2Shell?
Treat them as affected. The PHP project published no release for end-of-life branches; only vendor backports or an upgrade help.
Sources
Outbound links leave this site. We do not host exploit code.
- News archive 2026: security advisory, 21 October 2026 — PHP project (php.net)
- PHP downloads — PHP project (php.net)
- Supported Versions — PHP project (php.net)
- Unsupported Branches — PHP project (php.net)
- CVE-2026-109618 — Debian Security Tracker
- CVE-2026-109618 — Ubuntu Security (Canonical)