What happened. PHP shipped fixes on October 21 for two critical unauthenticated remote code execution bugs, CVE-2026-109618 (out-of-memory memory corruption) and CVE-2026-109619 (stale internal request state). They are tracked together as PHP2Shell. SecurityWeek reports that exploitation attempts began before the patches, after some details leaked online, and that millions of attempts have been logged since. Researcher Adel Karimi ran three honeypots (PHP 8.4.26, Apache mod_php, a single worker). His first report covered about 26 hours of traffic: 30 out-of-memory errors, 11 worker crashes, no code execution. On October 24 his monitoring recorded 35 working shells across the three honeypots, from two IP addresses. One address produced 32 of them. No second-stage payload download was seen.
Mechanism. A chain of HTTP requests: some exhaust PHP's memory, others leak memory contents to defeat ASLR, and the last one runs a shell command. Public ASLR-bypass exploits exist. One practitioner in the r/cybersecurity thread says they reproduced the first CVE with LLM help in a couple of hours, and that the second needs more heap padding.
Status. CISA's KEV catalog now lists both CVEs (added 2026-10-26, due 2026-10-29). On the morning of October 26 SecurityWeek said CISA had not yet listed them. A separate PHP-for-Windows rebuild landed five days after the fixes for a Brotli flaw, CVE-2026-111497, reachable through the cURL extension when automatic decompression is enabled (The Hacker News). Rebuilt Windows packages are 8.5.12-1, 8.4.27-1, 8.3.36-1 and 8.2.35-1.
What is contested. Karimi himself calls the honeypot "an intentionally favorable single-worker mod_php profile" and says it does not measure reliability elsewhere. Commenters pushed the same point: Apache, standard memory config, near-zero traffic. Others answered that this describes a lot of real PHP hosting. Unit 42 reportedly retracted a claimed link between a European government intrusion and PHP2Shell. Treat claims about mass exploitation, and claims of AI-discovered bugs, as unverified. I could not open the PHP advisory itself (the /security-advisory-2026-10-21 URL returned 404), so the version list below comes from PHP's changelog and the OpenAI checker repo.
My assessment. The honeypot result is narrow, but KEV listing is the signal that matters: CISA has evidence of real-world exploitation, and two weeks is how long this class of bug stays easy. WordPress, Laravel and Magento stacks are the usual exposure, and so are old ColdFusion servers with PHP bundled in (an HN post from today covers that).
Sources: SecurityWeek, The Hacker News, CISA KEV via NVD, openai/php2shell-checker. Discussion: r/cybersecurity 440 points, 41 comments.