PHP2Shell was attacked four days before its patch existed — and a week later most exposed PHP still runs an affected version

Asked:

“do a good research on the php2shell attack thje cybersecurity text”

Asked (follow-up):

“plz add more graphs and data driven research in it”

PHP2Shell is the name for CVE-2026-109618 and CVE-2026-109619, two critical unauthenticated remote code execution bugs in the PHP runtime, rated 9.2 Critical on CVSS v4.0 and fixed in PHP 8.5.12, 8.4.27, 8.3.36 and 8.2.35 on 21 October 2026. This report synthesizes 70 evidence rows from 37 independent hosts — a 15-row research synthesis, 36 dated timeline observations, and 19 quantitative measurements — current through 30 October 2026. It is defensive: no exploit payloads, no proof-of-concept code, no blocklists.

Ten days of incident, by evidence level

13 distinct events, deduplicated from 36 reported observations; colour is evidence level, not severity. First-party AWS and official PHP records are preferred where several outlets describe the same event. Hover any mark for the full account and source.

Exposure estimates measure different populations — never add them

Log scale, in hosts/services/systems: a linear axis would hide the smaller counts. Each bar names its exact metric and denominator. A version banner or inferred PHP environment does not prove a host is exploitable; these are complementary exposure indicators, not counts of exploitable servers.

The evidence ladder: four different measures, never a funnel

Each step comes from a different sensor population, so these numbers imply no conversion rate between steps.

17 Oct
Observed attempt, pre-disclosure
At least 1 actor hit an Amazon MadPot honeypot from an anonymized IP while the bugs were under embargo — aws.amazon.com
5 IPs
Multiple sources, multiple attempts
AWS saw attempts from 5 source IPs on 21 Oct, 02:00–08:00 UTC, with varying payloads suggesting multiple actors — roguebinary.com
35 + 1
Successful execution on sensors
35 shell executions on Perplexity honeypots in an exploit-favouring config, and 1 on a vulnerable GreyNoise sensor — securityboulevard.com, cvecrowd.com
25
Alleged rooted production servers
Dream Research reports 25 firewall servers rooted via a chained non-public PHP2Shell build, 2 in a US government-affiliated network; vendor unnamed, attribution assessed — infosecpwn.com

Telemetry contrast: zero in one dataset does not refute exploitation seen elsewhere

Positive and zero observations by sensor and date. Each sensor watches a different population at a different moment — Huntress, Bitdefender, Canada’s Cyber Centre and Tenable reported point-in-time zeros while honeypot operators logged attempts and successes. Hover a mark for scope and caveat.

Remediation pressure: two panels, two different units

A percentage and a count, deliberately kept apart — they share no denominator.

93.6%
Share of exposed servers still unpatched five days after disclosure (26 Oct), per Ox Security — a secondary-reported estimate; treat with qualification — cvecrowd.com
30.3M
PHP services still reporting an affected version on 29 Oct, per Censys’s php2shell dashboard. A matching version does not mean a system can be exploited — securityboulevard.com

Why it matters: PHP’s ecosystem reach

W3Techs: PHP is the server-side language of 69.4% of all websites whose server-side programming language is known. This is PHP adoption — not PHP2Shell exposure, and not compromise — w3techs.com.

69.4% of websites with a known server-side language use PHP

Defensive priorities, ranked

Updating the runtime and replacing every serving worker is the only complete response; configuration mitigations are temporary and incomplete, per the PHP project.

Findings the charts cannot say alone

PHP says all web-serving PHP installations are at risk, with the highest demonstrated risk on Apache mod_php; the fixed releases are 8.5.12, 8.4.27, 8.3.36 and 8.2.35, and configuration mitigations reduce exposure without making an installation safe — php.net
Because Amazon observed an attempt on 17 October, four days before the patch, every investigation window must begin no later than 17 October, not at disclosure — aws.amazon.com
Mallory counts 883,717 internet-facing hosts on end-of-life PHP branches that receive no official build — a population that cannot patch through official releases — deadneurons.substack.com
Tenable kept five vulnerable PHP sites reachable from the internet and recorded zero compromises despite attempts at scale — attempts, vulnerable-looking versions, sensor executions and confirmed compromise are four different measures — securityboulevard.com

Evidence table

All 70 rows across the three result sets. Filter by evidence level, kind, or date.

DateEvidenceKindFindingSource

Method: defensive research synthesis on PHP2Shell (CVE-2026-109618 / CVE-2026-109619), current through 30 October 2026. 70 evidence rows from 37 independent hosts: 15 synthesis rows, 36 dated timeline observations (deduplicated to 13 events in the timeline, preferring first-party AWS and official PHP records), and 19 quantitative rows whose units and denominators differ — exposure counts use a log axis and are never summed. Values measure what each row’s own source states; zeros are point-in-time sensor snapshots. Omitted for space: duplicate third-party retellings of the same events. No exploit code, offensive procedure, or IP blocklist is included.

This report was generated automatically by Keenable SELECT at a user's request, from publicly available web sources linked herein. Keenable does not review, verify, or endorse its contents and makes no representation as to accuracy, completeness, or timeliness; AI-based extraction may contain errors. Nothing in this report is investment, legal, financial, or other professional advice. All trademarks and referenced content remain the property of their respective owners; no affiliation or endorsement is implied. To report an error, rights concern, or request removal: legal@keenable.ai.

Keenable SELECTAsk your own question
Made with Keenable SELECT