Patching closes the hole. It removes nothing an attacker left behind. If your PHP or Node.js server was reachable from the internet and unpatched while exposed, and you see no sign of compromise, restart it on a fixed build, keep your pre-17 October backups before anything overwrites them, then check what changed and prioritize the secrets the web process could read.4 If you do see signs, or can't rule them out, the FBI advises isolating the affected system and preserving web server and PHP logs before you clean anything.2
The complete PHP2Shell guide covers the flaws themselves. This article covers the step after the patch.
You need this if the server was reachable from the internet while unpatched. The conditions differ for each flaw. PHP: your PHP was not on 8.5.12, 8.4.27, 8.3.36, 8.2.35 or a vendor build that names both CVE-2026-109618 and CVE-2026-109619.1 The earliest reported attempt was on 17 October, so start your review there.3 Node.js (CVE-2026-111497): your Node.js was not on 22.23.4, 24.22.1 or 26.12.1, and something in your stack decompresses Brotli data an attacker can supply. A bare Node.js HTTP server does not decode request bodies on its own, so not every internet-facing Node.js server was exploitable.15 The earliest Node.js attempt I found was 26 October, so a 17 October start is a conservative choice, not a reported one.18 You can skip this if the server was never internet-facing while unpatched. Status as of 4 November 2026.