php2shell × Common Crawl by SwordSec

Methodology

What we measured, how, and what the numbers cannot tell you.

Data

Common Crawl CC-MAIN-2026-43 collected about 2.2 billion web pages from 2026-10-05 to 2026-10-18. We processed its WAT metadata files (100,000 files, all of them): for every successfully fetched page (HTTP 200) they record the response headers and the server's IP address. Redirects and error pages are not part of WAT and are not counted. No site was contacted by us; this is passive data.

The crawl ended before the fixed PHP releases came out on 21 October 2026. These numbers are therefore a pre-patch baseline: every disclosed version of PHP was affected at the time. Later crawls will show patch progress.

Signals

We count hostnames (www.example.com and shop.example.com are two hosts) and roll them up to registered domains using the Public Suffix List.

Classification

Per GHSA-6wmf-4rv5-p3rp, versions below 8.2.35, 8.3.36, 8.4.27 and 8.5.12 are affected, with no lower bound.

Reported versionResult
8.2–8.5 below the fixed patchPotentially affected
8.2–8.5 at or above the fixed patchFixed (none possible in this crawl: those versions did not exist yet)
Branch only, e.g. PHP/8.3Potentially affected, low precision; never fixed
8.1 and older (8.0, 7.x, 5.x, 4.x)Potentially affected, end of life
Major only (PHP/8) or impossible (PHP/7.33)Unknown version

When a host's pages report different versions, X-Powered-By wins over Server, then the version seen on most pages. A host whose pages disagree about fixed versus affected is “conflicting”. Build suffixes such as -1ubuntu2.19 are ignored for the comparison. Distribution backports could not exist during this crawl, so no host is marked “backport possible”; from the November crawl on, they will be.

Denominators

Every rate names its base. The main ones:

Confidence intervals are 95% Wilson intervals. Cells with fewer than 10 hosts are shown as “<10”.

Limits

Privacy and responsible use

We store hostnames, counts, versions and labels only: no URL paths, query strings or cookie values. We do not publish lists of sites; verified CERTs, hosting providers and security teams can request the data. The lookup answers for one site at a time, is rate limited, and is not logged; for a domain it gives counts but never names other hosts under it. We count page views with Google Analytics, which receives the page path only, never the domain you look up.

Other sources

This site complements, and does not replace, service-based scanners and threat feeds:

Reproducibility

Statistics generated 2026-10-29T10:29:50Z · pipeline commit ea0e494 · Public Suffix List from x/net v0.62.0 · geolocation dbip-country-lite-2026-10.mmdb, dbip-asn-lite-2026-10.mmdb.

Found an error? Write to info [at] swordsec [dot] com.