// 1 CVE · 1 EXPLOIT IN THE LAST 24H→
Two PHP core vulnerabilities enable pre-application-code RCE on mod_php with CVSS 9.2. Cloudflare and Amazon confirm active in-the-wild exploitation.

PHP released critical patches on October 20, 2026 for two core language vulnerabilities, CVE-2026-109618 and CVE-2026-109619, that allow remote code execution with a CVSS v4.0 score of 9.2. The factor that reshapes the risk picture is not the CVSS severity alone, but the exploit's position in the request lifecycle: on Apache mod_php, execution occurs before any application code loads, rendering WAFs and traditional secure coding practices useless.

Key Takeaways
  • Two weaknesses in PHP request lifecycle management: out-of-memory corruption with cleanup on invalid state (CVE-2026-109618) and cross-request use-after-free on worker reuse (CVE-2026-109619)
  • Exploit on mod_php triggers in pre-application-code phase, bypassing every application-level defense; five SAPIs affected: mod_php, PHP-FPM, php-cgi, FrankenPHP, LiteSpeed
  • Active in-the-wild exploitation confirmed by Cloudflare, Amazon Threat Intelligence, and Patchstack via hosting partner reports
  • Unauthenticated memory disclosure demonstrated with exposure of passwords, tokens, and API keys from worker memory; limited backports available for EOL PHP 7.4, 8.0, and 8.1

The Mechanism: Corrupting State Before Code Exists

CVE-2026-109618 exploits a memory management error in the PHP core. When an out-of-memory condition interrupts a vulnerable operation, the engine leaves request data partially initialized. Cleanup routines process that invalid state, opening a path to remote code execution. The sequence does not require the application to execute complex logic: the exploit acts on the engine itself, not on the code running atop it.

CVE-2026-109619 is a cross-request use-after-free. PHP retains references to request data after the backing memory has been freed. A subsequent request handled by the same worker accesses those stale references before initialization resets them. Researchers demonstrated remote code execution through this sequence, according to the source.

Both vulnerabilities reside in PHP request lifecycle management, a layer applications do not control and cannot validate. This is the root of the problem: the security boundary shifts from the application perimeter to the runtime itself.

mod_php: Legacy Architecture as Privileged Attack Surface

The data Qualys highlights with clarity is the temporal position of the exploit on mod_php. The cited advisory states verbatim that "PHP reports a demonstrated exploit that can trigger before application code runs." This pre-application-code placement means no input validation, no authorization logic, no WAF configuration is yet active when the payload executes.

mod_php remains the dominant deployment architecture for PHP on Apache, despite PHP-FPM being considered the modern mode. The persistence of mod_php in shared hosting, legacy control panels, and enterprise installations creates a massive surface the attacker does not even need to fingerprint elaborately: it is the historical default.

The source specifies that PHP-FPM also requires patching. Its startup behavior blocks a specific out-of-memory attack path, but PHP has validated remote code execution in the session lifecycle against FPM under suitable application conditions. FrankenPHP and LiteSpeed complete the picture of five affected SAPIs, extending the vulnerability to containerized and high-performance deployments.

Exploitation In-the-Wild: Three Convergent Confirmations

The source cites three independent indicators of active exploitation. Cloudflare reported attack traffic targeting these vulnerabilities, including attempts to evade its protections. Amazon Threat Intelligence signaled attack activity. Patchstack received exploitation reports from hosting partners. The dossier does not reveal figures for compromised systems or specific targeted entities, and the source does not distinguish between targeted attacks and mass scanning.

"Cloudflare has reported attack traffic targeting these vulnerabilities, including attempts to evade its protections" — Qualys Threat Research Unit

The convergence of three observers across traffic analysis, threat intelligence, and hosted infrastructure reports makes in-the-wild exploitation a documented fact, not a projection. The relevant tactical datum is that attackers are already investing in evasion techniques against edge protections, indicating concrete operational interest beyond mere proof-of-concept availability.

Memory Disclosure and Impact Beyond Execution

Beyond RCE, researchers demonstrated unauthenticated disclosure of PHP worker memory. The exposed memory can contain passwords, authentication tokens, and API keys, according to the source. This vector does not require the exploit to achieve code execution: access to residual data structures in memory is sufficient to compromise secrets from previous sessions or other tenants in multi-user environments.

The combination of unauthenticated RCE and memory disclosure amplifies risk for hosting providers, e-commerce platforms, and cloud-native infrastructures where PHP workers serve multiple, potentially multi-tenant requests. The attacker does not need persistence: extraction of credentials or tokens can be a sufficient objective, with reuse against other services.

What to Do Now

Operators must apply the PHP patches released on October 20, 2026 for all supported versions. For installations on EOL branches 7.4, 8.0, and 8.1, PHP has made limited backports available that must be evaluated case by case based on system criticality.

Disabling the session upload-progress feature with a service restart is the documented mitigation from the source. mod_php administrators should consider migration to PHP-FPM as an architectural change, while maintaining focus on patching since FPM remains vulnerable under specific application conditions.

Qualys has released eleven QIDs for PHP2Shell detection, including 389102 and 39033 for unauthenticated identification. Security teams must use these signatures to map actual inventory exposure, prioritizing undocumented mod_php systems and multi-tenant deployments where cross-contamination risk from memory disclosure is highest.

The Lifecycle Lesson: When the Runtime Betrays

PHP2Shell research fits a broader pattern: the migration of critical vulnerabilities from application layers to runtimes and languages themselves. When the defect is in the engine, every application written in that language inherits the vulnerability regardless of its own code quality. mod_php, in this sense, is not merely an obsolete technology choice: it is the architecture that expands an engine-level bug's surface to a massive fraction of the web.

The datum yet to be verified is the actual patch adoption rate in EOL systems and operators' ability to identify undocumented mod_php deployments. The source provides no adoption metrics nor post-fix exploitation timeline. Risk remains concentrated in the distance between fix availability and practical application, a distance that for legacy PHP often measures in years.

FAQ

Does disabling upload-progress provide complete protection?
The source documents this mitigation but does not specify whether it covers both CVEs or only one attack path. The dossier does not allow ruling out that other vectors remain open.

Is PHP-FPM safe if configured correctly?
No. The source explicitly states PHP-FPM requires patching and that RCE in the session lifecycle has been validated under suitable application conditions. Blocking a specific OOM path does not equal complete protection.

Is there confirmation of successful compromises?
The dossier reports attack traffic, exploitation reports, and confirmed attack activity, but provides no evidence of successfully compromised systems or specific targeted entities.

Sources


Sources and references
  1. blog.qualys.com