Image: assets.bishopfox.com · rights & removal
Responder Guidance for PHP2Shell (CVE
Reporting by Bishop Fox BlogRead the original at bishopfox.com
Executive Summary
Two critical memory-corruption vulnerabilities, CVE-2026-109618 and CVE-2026-109619, were disclosed in the core PHP engine, allowing for unauthenticated remote code execution (RCE). Both flaws affect all PHP installations serving web requests across various Server APIs (SAPI), including modphp, PHP-FPM, php-cgi, FrankenPHP, and LiteSpeed. The risk is deemed highest under modphp because an attack can trigger before any application logic executes.
The vulnerabilities function differently: CVE-2026-109618 exploits Out-of-Memory (OOM) corruption during PHP parsing via specially crafted requests, while CVE-2026-109619 leverages a use-after-free condition related to stale global state when a request terminates abruptly. Although configuration settings like opcache or displayerrors can raise the technical difficulty for an attacker by altering exploitation paths, no single setting provides complete protection against reachability. The definitive solution is patching to one of the specified fixed versions (8.5.12, 8.4.27, 8.3.36, or 8.2.35).
Facts Only
Two critical memory-corruption vulnerabilities were disclosed: CVE-2026-109618 and CVE-2026-109619.
The flaws affect the core PHP engine.
Both vulnerabilities enable unauthenticated remote code execution (RCE).
Patches are available in PHP versions 8.5.12, 8.4.27, 8.3.36, and 8.2.35.
All PHP installations serving web requests are in scope across all SAPIs (PHP-FPM, Apache with modphp, php-cgi, FrankenPHP, LiteSpeed).
CVE-2026-109618 exploits Out-of-Memory (OOM) corruption during request parsing.
CVE-2026-109619 utilizes a use-after-free condition through stale global state, specifically mentioning `session.uploadprogress`.
The vendor rates the risk highest for modphp due to pre-application execution.
Interim mitigations include disabling `session.uploadprogress`, setting appropriate memory limits, and limiting request sizes.
Unauthenticated RCE was reproduced against stock Docker images with ASLR enabled.
Full Take
The core tension in this advisory lies between the concept of 'reachability'—which is nearly universal for vulnerable installations—and the complexity of achieving successful 'exploitation.' The narrative persuasively pushes an urgent patch based on the fundamental risk, acknowledging that while many configuration tweaks complicate the attack chain, they do not eliminate it entirely. This structure directs immediate remedial action toward patching as the only definitive posture of safety.
The pattern here is a pragmatic triage approach: identify widespread exposure first (reachability), then qualify difficulty (exploitation). The advisory expertly de-risks the recommendation by detailing numerous mitigating factors, yet anchors this entire discussion with an absolute command: "Patch now." This tactic manages stakeholder risk—allowing system administrators to feel they have exhausted their hardening options while simultaneously reinforcing the necessity of vendor updates. It frames advanced defense as a necessary friction rather than a substitute for fundamental security hygiene.
The unstated paradigm is that systemic software complexity necessitates reliance on upstream, deeply vetted vendors (the PHP project) over layered configuration management, because the flaw resides beneath application boundaries and bypasses standard defensive controls like application firewalls or least-privilege application contexts when running under certain SAPIs. Second-order consequences include a potential arms race where system operators must now constantly verify that runtime configurations meet the specific demands of esoteric memory corruption vectors, shifting defense from perimeter security to internal engine integrity maintenance.
How robust are these interim mitigations if an attacker can pivot between OOM and stale state attacks? Furthermore, since architecture forces recalibration, how effectively does configuration hardening truly protect against actors with deep reverse engineering capability who possess time rather than immediate access? What is the risk profile of moving to FPM versus accepting application-dependent RCE paths on that platform?
Patterns detected: none
From the original · Bishop Fox Blog
TL;DR - PHP runs much of the web. CVE-2026-109618 and CVE-2026-109619 affect its core engine, not any individual application, so a site does not need a particular feature or plugin to be at risk.Read the full story at bishopfox.com
Sentinel unavailable
The automated check of the source article's wording did not complete, so no result is shown.
This looks only at the wording of the original source article, not at this page's AI-written sections. A small local AI model made this estimate. It has not been checked against known human and machine texts, so treat it as provisional. It cannot show who wrote an article.
