Evidence, not a label
Every result is a complete, reproducible trace a second person can follow, not a severity rating you have to take on trust.
Two critical PHP flaws are being probed in the wild. Patching is step one. Knowing whether your systems are actually exposed is the harder question. XBOW helps you test it, safely, and gives you the evidence.
On 21 October 2026 the PHP Project released emergency fixes for two flaws that together allow an attacker, with no login, to run code on a web server. Exploitation attempts were seen the same day. If you run PHP anywhere, this is the week to act.Sources, the PHP Project advisory, Palo Alto Networks Unit 42, Sophos, Qualys, Akamai and watchTowr.
CVSS v4.0 9.2, Critical.
The updates do not install themselves.
PHP-FPM, php-cgi, FrankenPHP and LiteSpeed are also affected per the PHP Project.
On 21 October 2026 the PHP Project released emergency fixes for two flaws that together allow an attacker, with no login, to run code on a web server. Exploitation attempts were seen the same day. If you run PHP anywhere, this is the week to act.Sources, the PHP Project advisory, Palo Alto Networks Unit 42, Sophos, Qualys, Akamai and watchTowr.
CVSS v4.0 9.2, Critical.
The updates do not install themselves.
PHP-FPM, php-cgi, FrankenPHP and LiteSpeed are also affected per the PHP Project.
Where do we run PHP? And on which branch? And then, could anyone actually get in?
The first is inventory. It is necessary, and most teams can do it with tools they already own.
The second is not an inventory question. A version number tells you a system could be at risk, but it cannot tell you whether a real attack path exists on that system, with that configuration, today.
One is a list, and the other is proof you can hand to your board.
It is bundled in vendor appliances, baked into container images, running sites you do not operate and tools nobody has touched in a year. An inventory misses most of them because nobody files them as PHP.
A vulnerable version on a host nobody can reach is a patching task. The same version exposed, with the wrong settings, is a live risk. From a list, the two look identical.
Content delivery and edge providers increasingly filter the signals an external scanner relies on to recognise PHP, so passive detection misses systems that are there.
PHP2shell is difficult to exploit reliably outside a test environment. This means the exposed part of your estate is specific to your deployments, and only a check on those deployments settles it.
XBOW is an autonomous offensive security platform. For PHP2shell, it works inside the assessment you already run and answers the exposure question with evidence rather than a score.
Every result is a complete, reproducible trace a second person can follow, not a severity rating you have to take on trust.
The PHP2shell check is included automatically in new web application assessments wherever XBOW detects PHP. Where a system is exposed, XBOW demonstrates it and records the evidence. Where it is not, it records what was tried. The risk to your systems is low: in our testing, the worst case was the PHP worker crashing and the server returning errors briefly before recovering on its own.
The approach covers the common configurations first and is being extended. It is not a universal test, and a clean result is not a guarantee of safety.
You set the scope, and every action is logged. The result is evidence you own and can give to your board or auditor.
Off-the-shelf tooling would mark a PHP instance 'possibly vulnerable' and move on. XBOW validates the real impact.
Run a new assessment. The PHP2shell check is included by default, and your account team can confirm it is on for you.
Talk to us about your perimeter. Take the checklist in the meantime, and ask us, and every other vendor, for a trace rather than a score.
Ten checks for the week, from the PHP your inventory misses to what to do about branches too old to patch. One page.