Cve/php Rce 2026 10
Finds and patches PHP installs exposed to the critical PHP remote code execution vulnerabilities fixed on 2026-10-21 (CERT-EU advisory 2026-018, CVSS 9.2 each):
- CVE-2026-109618, RCE via OOM corruption (GHSA-w8hw-w9fx-j79w). php.net demonstrated an unauthenticated exploit against Apache mod_php that runs before any application code.
- CVE-2026-109619, RCE via stale global state (GHSA-6wmf-4rv5-p3rp).
Fixed upstream in PHP 8.2.35, 8.3.36, 8.4.27 and 8.5.12. PHP 8.1 and older get no upstream fix.
Methods
scanscans one host (local, SSH, or Docker container or image). Windows hosts are scanned over SSH with a PowerShell probe.scanFleetscans many hosts in parallel over SSH, Linux and Windows.mitigatescans first, then upgrades PHP packages through the host's package manager and restarts PHP-FPM or Apache.dryRundefaults to true. Containers are reported for an image rebuild, never changed in place, and Windows hosts are scanned only. Hosts with no fixed package are reported asisolate; withapplyConfigMitigations=trueit also writes php.net's partial ini mitigations.
What it reports
Every PHP binary, php-fpm, Apache mod_php, php-cgi, FrankenPHP and LiteSpeed install, distro package and running php container, with a verdict:
patchedvulnerableunsupportedupdate-availablecheck-vendor: a distro build below the upstream fix that no tracker marks fixed yetunknown
It also reports whether PHP is publicly listening, and the exposure settings from the ini files of the SAPI that serves requests.
The advisories publish no indicators of compromise, so log counts of worker crashes and memory exhaustion are hints, not proof either way.
Scanning needs no root. mitigate needs root, or passwordless sudo for the
exact commands it runs (sudo -n, checked per command before anything
changes).
Resources
Files
Reports on PHP RCE (CVE-2026-109618, CVE-2026-109619) scan and mitigation results
- Has README or module doc2/2earned
- README has a code example1/1earned
- README is substantive1/1earned
- Most symbols documented0/1missing
- No slow types (deprecated)1/1earned
- Dependencies pass trust audit2/2earned
- Has description1/1earned
- Platform support declared (or universal)2/2earned
- License2/2earned
- Verified public repository2/2earned
Spawns a subprocess with Deno.Command().
- models/php_rce_2026_10.ts:1910 — no reason given
- models/php_rce_2026_10.ts:1953 — no reason given
- models/php_rce_2026_10.ts:2011 — no reason given
- models/php_rce_2026_10.ts:2027 — no reason given
- models/php_rce_2026_10.ts:2053 — no reason given