Remote Code Execution in PHP Session Serialization and Upload Progress
CVE-2026-115560 is a remote code execution vulnerability involving PHP session serialization and session upload-progress tracking, disclosed on October 23, 2026. The vulnerable scenario requires session.serialize_handler to initially use php_binary or php_serialize, followed by application code switching it to php through ini_set() before calling session_start(), while session upload progress remains enabled. This uncommon interaction can expose affected applications to remote arbitrary code execution. Exact affected version ranges and the complete technical root cause have not been publicly established. The vulnerability is separate from the PHP2Shell vulnerabilities CVE-2026-109618 and CVE-2026-109619 and is not fixed by their October 21 security updates.
What it means and what to do now: patch path, interim mitigations, and the assume-compromise checklist.
What an attacker gets, and what they’ve been doing with it.
Successful exploitation could compromise the affected PHP application and permit arbitrary code execution with the privileges of its PHP or web-server worker process. Consequences can include disclosure or modification of application data and accessible credentials, unauthorized server-side changes, and service disruption. Elevated operating-system privileges are not an established direct consequence. No confirmed exploitation of this specific vulnerability was documented as of October 26, 2026.
If you can’t patch tonight, do this now.
Set session.upload_progress.enabled=0 through a configuration mechanism effective before request processing. Apply it to all relevant PHP service configurations, account for overrides, restart affected PHP workers and web services, and verify the effective setting. Retain this setting if it was previously applied for CVE-2026-109619. Review application code for runtime serializer changes and eliminate the php_binary or php_serialize to php transition before session_start() where possible. Applications that never change the session serialization handler at runtime are not exposed through the disclosed path. Restricting upload endpoints and deploying applicable WAF rules can provide defense in depth but should not replace the vendor-recommended configuration mitigation.
Patch, then assume compromise.
Install the permanent PHP fix when it becomes available through the next regular bugfix release or an applicable downstream vendor update. No fixed release was identified as of October 26, 2026. PHP 8.5.12, 8.4.27, 8.3.36, and 8.2.35 address the earlier PHP2Shell vulnerabilities but do not remediate CVE-2026-115560. Maintain the configuration mitigation pending the dedicated fix, and assess exposure through application code and effective runtime configuration rather than the installed version alone.
7 exploits validated by Mallory's analysis. Hidden: 22 rejected by Mallory's analysis as not a working exploit; 1 not yet analyzed, such as Exploit-DB entries.
Products and vendors Mallory has correlated with this vulnerability. Open in Mallory to drill down to specific CPE configurations and version ranges.
181 sources tracked across advisories, community write-ups, and news. New activity surfaces here as Mallory finds it.