
Cybermindr Insights
Published on: October 23, 2026
Last Updated: October 23, 2026
How many internet-facing servers in your organisation are running PHP right now?
For most security teams, that question became urgent on October 20, when two critical PHP vulnerabilities leaked online before a fix was available. Since then, CyberMindr has scanned more than 40,000 domains and identified over 1,000 internet-facing assets running vulnerable PHP versions. Here is what we learned, and how we helped our customers respond.
On October 20, 2026, details of two critical PHP vulnerabilities leaked ahead of coordinated disclosure. Tracked together as PHP2Shell (CVE-2026-109618 and CVE-2026-109619), they sit in PHP's session upload progress feature, which has shipped enabled by default since PHP 5.4.
That default is what makes PHP2Shell so wide-reaching. PHP runs around 77% of all public websites, including WordPress, Laravel and Symfony sites, online stores and countless custom applications. Every one of them running an affected version was in scope from day one.
Both flaws carry a CVSS v4.0 score of 9.2, though the score matters less than how easily attackers can reach them. A fully automated, one-click proof-of-concept was published and confirmed working against PHP 8.4.26 and 8.2.34, the latest builds available at the time. watchTowr independently reproduced it.
The PHP team released emergency fixes on October 21, a day earlier than planned, because the details were already public.
An attacker needs only network access to the web server. No login, no plugin and no special configuration are required.
The public exploit takes four staged HTTP requests. The first resets the server's memory to a predictable state. The next two leak memory addresses through the server's own Set-Cookie responses, which lets the attacker defeat ASLR, a core memory protection. The final request plants a forged data structure that tricks PHP into running a system command of the attacker's choosing.
This is why existing security controls struggle:
FApplying the patch takes minutes. Three things make the full response much harder.
End-of-life versions will never be fixed. PHP 8.1, 8.0, 7.x and 5.x receive no official patch. Turning off session upload progress (session.upload_progress.enabled = Off) is a stopgap.The lasting fix is an upgrade, or taking the server offline.
Attackers may already be inside. Web shells planted before patching survive the update and keep giving attackers access. Configuration files such as wp-config.php and .env often hold database passwords, API keys and cloud credentials in plain text.
Few companies have a complete list. Old campaign sites, regional portals, acquired brands and staging environments often sit outside the main asset inventory. Attackers start scanning for PHP version headers within hours of a disclosure, and they scan everything that is online, whether or not your team is tracking it.
Most security tools work from inside the network, so they can only check systems a company already knows about. CyberMindr works from the outside, the way an attacker does, mapping every internet-facing subdomain, IP and URL that serves PHP.
How we handled PHP2Shell:
Alongside these findings, CyberMindr also surfaced the PHP upload endpoints the exploit targets, servers publicly revealing their PHP version in headers, and signs of web shells or unusual files on web roots.
Once CyberMindr flags your exposure, this is what your team gets, and what happens next.
PHP2Shell will not be the last critical flaw of its kind, and end-of-life servers stay exposed to every future vulnerability in their branch. A one-time audit only shows where you stood on the day it ran.
Upgrade supported servers to a fixed PHP release. For end-of-life versions, disabling session upload progress may serve as a temporary measure, but upgrading or taking the server offline is the lasting fix.
CyberMindr scanned more than 40,000 domains, identified over 1,000 internet-facing assets running vulnerable PHP versions, and notified affected customers within 24 hours. It also provided remediation guidance and external re-scans to confirm fixes.