PHP2Shell Scanner

Download 0
Last updated Oct 24, 2026

php2shell-scan

Scans one URL for the PHP2Shell vulnerability (CVE-2026-109618/109619) and returns one row with the verdict. A scan sends up to about 29 MiB to the target, so run it only against assets you are authorized to test. Cancelling the query stops the request in flight at once.

php2shell-scan url=VALUE [sapi=VALUE] [timeout=VALUE] [insecure=VALUE]
url=VALUE
Required. URL to scan, for example https://192.0.2.10/. Without a scheme, https:// is assumed.
sapi=VALUE
Optional. Which crash signals count: auto (default) applies both mod_php and PHP-FPM rules, mod_php or fpm applies one set.
timeout=VALUE
Optional. Per-request read timeout in seconds. Default: 60.
insecure=VALUE
Optional. t skips TLS certificate verification, for internal assets with self-signed certificates. Default: f.

Output fields

FieldTypeNameDescription
urlStringURLURL that was scanned, e.g. https://192.0.2.10:8080/
verdictStringVerdicte.g. VULNERABLE, FIXED, INCONCLUSIVE, NO_SIGNAL, ERROR
is_vulnerableBooleanVulnerabletrue when vulnerable, false when not, null when undecided, e.g. true
sapiStringSAPIe.g. mod_php, PHP-FPM, mod_php/PHP-FPM, unknown
powered_byStringX-Powered-ByX-Powered-By response header, e.g. PHP/8.3.12
php_versionStringPHP versionPHP version parsed from X-Powered-By, e.g. 8.3.12
reasonStringReasonWhy the verdict was reached, e.g. probe 2 (8 MiB, 1020 parts) crashed the request handler
probe_countIntegerProbes sentNumber of crafted probes sent (0-3), e.g. 3
errorStringErrorPresent only when the scan could not complete, e.g. control request failed: request timed out