
PHP2Shell: Critical PHP Vulnerabilities Put Business Infrastructure at Risk
A critical vulnerability in PHP, one of the technologies powering websites and web applications worldwide, is putting organizations on notice. Known as PHP2Shell, the vulnerability disclosure published on October 21, 2026, describes two serious flaws in PHP’s core runtime that could allow attackers to execute code on affected servers without authentication or expose sensitive information from server memory. Both vulnerabilities carry a CVSS v4.0 severity score of 9.2 out of 10.
On October 23rd, 2026, the PHP security team also disclosed a related vulnerability, CVE-2026-115560, that is not fixed by the initial PHP2Shell security updates. Although the newer issue requires an uncommon combination of application behavior and configuration, it reinforces the importance of looking beyond individual patches to understand how software operates across an environment.
The impact of these vulnerabilities extends beyond a particular website platform or application. Because the vulnerabilities affect PHP itself, organizations running vulnerable PHP environments may be exposed even if their website code is otherwise secure. For businesses that depend on web applications to deliver services, process transactions, or manage sensitive information, these vulnerabilities highlight a broader concern: a weakness in one software component can create risks for the entire infrastructure supporting it. PHP2Shell and CVE-2026-115560 are a reminder that application security and infrastructure security cannot be treated as separate responsibilities.
What Is PHP2Shell?

PHP is a general-purpose scripting language powering 70% of all websites in the world. PHP2Shell refers to two related vulnerabilities in PHP’s core runtime, identified as CVE-2026-109618 and CVE-2026-109619. PHP is widely used to power websites and applications, including platforms such as WordPress, Drupal, and Joomla. The newly disclosed flaws involve how PHP manages memory when requests trigger certain error codes.
Under specific circumstances, an attacker could send a specially crafted HTTP request to a vulnerable server and trigger unsafe memory handling. This can lead to service disruption, sensitive information exposure, or remote code execution. Remote code execution (RCE) is particularly serious because it can allow an attacker to run malicious commands on a server without first obtaining legitimate access to the application.
The vulnerabilities affect PHP itself, not simply a particular website platform or plugin. Updating application code alone will not address the underlying issue. Organizations must ensure that the PHP runtime supporting their applications has been appropriately updated. The PHP security team released fixes on October 21st, 2026 for supported branches:
- PHP 8.2.35
- PHP 8.3.36
- PHP 8.4.27
- PHP 8.5.12
Organizations using older or unsupported versions should consult their operating system or hosting vendor for available security fixes and an upgrade path.
Why PHP2Shell Is More Than a Website Security Issue
The consequences of a successful exploit can extend far beyond a compromised webpage. Risks of PHP2Shell include:
- Sensitive data exposure: PHP process memory may contain authentication tokens, passwords, API keys, certificates, or other sensitive information. Memory disclosure can create opportunities for attackers to obtain information without necessarily executing malicious code.
- Unauthorized access to server resources: Successful remote code execution could allow attackers to act with the privileges of the affected PHP worker. Depending on the environment’s permissions and security controls, this could provide a foothold for further compromise.
- Service disruption: Exploitation can crash application processes and disrupt services. For organizations that depend on web applications for revenue, customer access, or daily operations, even a temporary interruption can have serious consequences.
- Potential movement into connected systems: A compromised server can expose credentials, accessible services, and other pathways into the surrounding environment. The extent of that risk depends on network segmentation, access controls, identity permissions, and the server’s connections to other systems.
The key consideration is that a vulnerability in one software component can become and infrastructure-wide concern when the affected system has access to valuable data or connected services.
Exploitation Makes Prompt Action Essential
The timeline surrounding PHP2Shell reinforces the need to respond quickly to critical vulnerabilities. Amazon Threat Intelligence reported observing a PHP2Shell exploitation attempt in its MadPot telemetry on October 17th, 2026 — four days before public disclosure. Amazon subsequently observed additional attempts involving different anonymized infrastructure after the vulnerabilities became public. Cloudflare also reported observing attack traffic and deployed web application firewall protections around the time of disclosure.
These reports do not establish that every vulnerable organization has been targeted or compromised. However, they do demonstrate why businesses should not assume they have time to spare after a critical vulnerability becomes public. Security teams must verify exposure, prioritize remediation, and review relevant activity rather than waiting for evidence of an incident before taking action.
The Risk Has Evolved: Understanding CVE-2026-115560
Just two days after the original PHP2Shell patches were released, the PHP security team disclosed another potential remote code execution vulnerability: CVE-2026-115560. The issue involves an unusual interaction between PHP’s session serialization settings and its session upload progress feature. Exploitation requires a specific combination of conditions: an application must begin with certain session serialization settings, change the serialization handler at runtime before starting a session, and leave session upload progress enabled.
PHP described this configuration as uncommon, but the important distinction is that installing the original PHP2Shell updates does not fix CVE-2026-115560. As of October 27th, 2026, the PHP project’s published guidance recommends disabling session upload progress until a permanent fix becomes available. The PHP project indicated that a fix would be included in a subsequent regular release. Organizations should therefore continue monitoring official PHP advisories and their software vendors’ updates rather than treating the initial PHP2Shell patch as the end of the process.
The newer vulnerability should not be confused with the original PHP2Shell flaws: the initial vulnerabilities affect PHP installations serving web requests broadly, while CVE-2026-115560 depends on a narrower configuration and application pattern. Together, the disclosures demonstrate why vulnerability management cannot stop at installing a single round of updates. Organizations need a process for tracking new advisories, validating configurations, and confirming that remediation remains effective as the threat landscape changes.
How AI Helped Discover PHP2Shell
Artificial intelligence (AI) played a significant role in uncovering the original PHP2Shell vulnerabilities. As part of OpenAI’s Patch the Planet initiative, security researchers at Calif used AI-powered code analysis to identify a critical flaw in PHP, while Wiz independently discovered and reported both vulnerabilities. The findings demonstrate how AI can help researchers analyze complex software, identify memory-safety issues, and uncover weaknesses that could otherwise remain hidden in widely used code.
Importantly, AI supported the discovery process; human security researchers, PHP maintainers, and industry partners still played essential roles in validating the findings, developing fixes, and coordinating disclosure. The development also highlights a growing dual-use challenge: the same AI capabilities that help defenders discover vulnerabilities can help attackers analyze patches and develop exploits more quickly. As AI accelerates both vulnerability discovery and exploitation, organizations need to strengthen their security practices, shorten remediation timelines, and maintain visibility into the infrastructure their applications depend on.

How to Protect Yourself Against PHP2Shell
Addressing PHP2Shell requires more than updating a website’s content management system or installing the latest plugin. Organizations must understand which PHP runtimes support their applications, where those runtimes are deployed, and how each environment is configured.
1. Identify Affected PHP Environments
These may include inventory websites, applications, containers, virtual machines (VMs), and other systems running PHP. Organizations should include production, staging, development, and less frequently maintained environments. PHP may also be embedded in third-party products, so an application may depend on PHP even when your team does not manage the runtime directly. Confirm the version and how PHP is installed or maintained. Different environments may use operating system packages, container images, hosting platforms, or custom deployments. Do not assume that updating an application will automatically update its PHP runtime.
2. Apply the Appropriate PHP Security Updates
Update affected systems to the appropriate fixed PHP release or vendor-provided equivalent. Prioritize internet-facing systems because they are directly reachable by potential attackers. After updating, verify that the patched runtime is actually running. Restart PHP workers and related services when required, and confirm that the change has taken effect. If a hosting provider manages PHP for your organization, confirm who owns remediation and request explicit verification that the affected systems have been updated. For unsupported or legacy systems that cannot be patched promptly, follow CISA's guidance to take affected PHP-based systems offline until they can be secured. A firewall alone is not a complete replacement for a security update.
3. Mitigate CVE-2026-115560 Separately
The initial PHP2Shell updates do not address the newer session upload progress vulnerability. Until a permanent fix is available, follow the PHP security team's recommendation to disable session upload progress. Ensure the setting applies to the relevant PHP processes and restart workers as needed. Review custom session-handling code to identify applications that change serialization handlers at runtime. Because the newer vulnerability depends on application behavior, checking the PHP version alone is not enough to determine exposure. Continue monitoring official PHP advisories and apply the permanent fix when the PHP project releases it.
4. Use Web Application Firewalls as An Additional Layer
A web application firewall (WAF) can help detect and block malicious requests associated with known exploitation techniques. Cloudflare has published PHP2Shell protections for customers using its WAF. It’s important to note that WAF coverage depends on the provider, configuration, and protection rules in place. Organizations should verify that relevant protections are enabled and operating as intended. A WAF is a compensating control, not a substitute for patching a vulnerable runtime. It may not cover every exploitation path or future variation.
5. Limit the Impact of a Compromised System
Patching addresses known vulnerabilities, but infrastructure design determines how much damage an attacker can cause if another weakness is exploited. Review the privileges assigned to web application processes, restrict unnecessary access to sensitive files and services, and limit the credentials available to application workers. Segment networks so a compromised web server cannot automatically reach unrelated systems or critical databases. Where appropriate, isolate workloads and apply least-privilege access controls. These measures can help contain a compromise and reduce the risk of lateral movement into other parts of the environment.
6. Review Logs & Investigate Suspicious Activity
Review web server, application, PHP-FPM, endpoint, and network telemetry for unusual requests, unexpected process behavior, unexplained service crashes, suspicious outbound connections, or PHP processes launching shells or other unexpected programs. Investigate suspicious activity around the period before and after public disclosure. Pay particular attention to unexpected file creation, changes to session-handling behavior, and unusual activity originating from web application workers. If compromise is suspected, follow your incident response procedures. Preserve evidence, determine the scope of the incident, assess exposed credentials and data, and remediate any persistence mechanisms. Patching alone does not establish that a previously vulnerable system has not already been compromised.
The Bigger Lesson: Infrastructure Security Requires Ownership
PHP2Shell and the subsequent CVE-2026-115560 disclosure highlight a recurring challenge in cybersecurity: organizations often depend on applications whose security relies on multiple interconnected layers, from application code and runtime versions to operating systems, network access, monitoring, and operational processes. When responsibility for those layers is fragmented, critical questions can go unanswered. Which systems are affected? Who owns the update? Does a separate configuration change remain necessary? Has the remediation been verified? What could an attacker reach if one server were compromised?
Effective security requires clear accountability across the full environment. That means understanding how applications operate, knowing what infrastructure supports them, maintaining visibility into potential risks, and having a defined process for responding as new vulnerabilities emerge. At Protected Harbor, we believe infrastructure should be engineered around the applications it supports. When application behavior, underlying systems, and security controls are understood together, organizations are better positioned to identify weaknesses, respond to threats, and protect the services their business depends on. PHP2Shell is a timely reminder that keeping an application secure requires more than maintaining the application itself. It requires knowing what runs beneath it, how it connects to the rest of the environment, and who is accountable for keeping the entire system secure.
Is your infrastructure ready to respond to the next critical vulnerability?
Contact Protected Harbor to discuss how a more comprehensive approach to infrastructure engineering can strengthen your security posture, resilience, and operational accountability.