PHP2Shell is the name given to two critical vulnerabilities in PHP, tracked as CVE-2026-109618 and CVE-2026-109619. Successful exploitation could let an unauthenticated attacker execute code on an affected server. Patches were released on October 21, 2026, and security companies reported attempts to exploit the flaws—but attempted attacks are not the same as confirmed breaches.
11
14
19
What the PHP2Shell flaws do
The vulnerabilities affect PHP itself, rather than a particular website or content-management system. Red Hat describes one flaw as involving mishandled memory when an allocation fails during request parsing; the other can leave stale state after a fatal error interrupts cleanup.
7 Together, the issues can create a path to remote code execution, meaning an attacker may be able to run code on a vulnerable server without first logging in.
11
13
Both flaws received a CVSS v4.0 score of 9.2, a critical-severity rating.
4 The possible consequences include server compromise, exposure of data, or disrupted services, but the vulnerabilities do not mean every PHP website has been attacked or compromised.
13
Why the incident drew urgent attention
Reports say the flaws had existed in PHP for years before they came to light.
42 A long period in software is not proof that attackers knew about the vulnerabilities or exploited them during that time.
The discovery also drew attention to AI-assisted security research. Reporting says Calif and Wiz used AI tools in their investigations, while OpenAI was involved in the research and disclosure effort.
34
44 AI assistance can help researchers examine software, but the discovery story alone does not establish how quickly attackers could use similar tools or which side has the advantage.
Headlines also cited PHP’s broad use—sometimes estimated at about 70% of websites.
20 That figure describes PHP’s reported reach, not the number of servers confirmed vulnerable or breached. Actual exposure depends on the PHP version, configuration, deployment, and whether a fix has been applied.
Patches, reported attacks, and what the evidence shows
The PHP project released fixes on October 21 in versions 8.2.35, 8.3.36, 8.4.27, and 8.5.12.
19 That reported upstream release list covers PHP 8.2 through 8.5. Organizations running older versions should check their operating-system or hosting provider’s security notices for a verified patch or backport rather than assuming one is available—or that it is not.
There are reports of exploitation attempts. SecurityWeek reported that Amazon observed an attempt on October 17, four days before the patch release.
14 Cloudflare also reported a sharp rise in attempted exploit traffic after the vulnerabilities became public, with counts reaching millions in subsequent reporting.
27
38 These figures describe observed attempts, not successful intrusions.
Reporting on the scale of exploitation is not uniform: some sources describe active attempts, while another says mass exploitation appeared less likely than initially expected.
3
4 The available material does not establish widespread successful compromise. Treat credible attack reports seriously, but distinguish scanning or attempted exploitation from evidence that a particular server was breached.
2
3
What officials and service operators did
Some organizations took public-facing services offline while responding. Reports describe temporary shutdowns or maintenance actions in Japan, France, Finland, and the Netherlands; U.S. and European agencies also urged organizations to act.
18
20
35 Taking a site offline can reduce exposure during a response, but it is not evidence that the site was compromised.
The source material available for this article does not independently substantiate the reported remarks attributed to Microsoft CEO Satya Nadella at an event in Cologne, including the wording or context. Without reliable confirmation, those remarks should not be used to explain the response or characterize the incident.
What PHP operators should do
- Check the runtime, not just the application. PHP2Shell affects the PHP runtime, so updating a CMS or plugin alone does not establish that the underlying PHP installation is fixed.
13
- Apply a verified fix. Upgrade to an appropriate fixed PHP release, or follow the relevant vendor’s instructions for a backported patch. Confirm the version actually running in production.
19
- Check for signs of compromise. Patching addresses the vulnerability; it does not establish that a server was never accessed. Review relevant logs and investigate suspicious activity before returning a system to normal operation.
- Use temporary mitigations carefully. Follow current guidance from PHP maintainers or your vendor. Do not rely on a single configuration change or a web application firewall as a substitute for a verified runtime fix.
15
27
- Use account protections as an additional layer. Unique passwords and multi-factor authentication help protect accounts, but do not fix an unauthenticated server-side code-execution flaw.
For IT teams, the distinction between a vulnerability, an exploit attempt, and a confirmed compromise matters. It supports urgent patching without turning uncertain claims into conclusions about who was breached.