SECURITY ADVISORY / VULNERABILITY RESPONSE
Critical PHP updates: close the exposure, then prove the fix
Two critical PHP vulnerabilities. The fixed releases, the systems to check, and the evidence a patching decision needs.
PHP released fixes on 21 October 2026 for CVE-2026-109618 and CVE-2026-109619. Both can allow unauthenticated remote code execution. The immediate task is to identify exposed PHP runtimes, apply a verified fix and confirm that running applications actually use it. [1][2]
Prioritise affected internet-facing services. Record the runtime, package source, owner and deployment evidence. A closed change ticket alone is not proof of remediation.
What the PHP project confirmed
CVE-2026-109618 concerns corruption during out-of-memory handling. CVE-2026-109619 concerns stale request state retained by a worker. The PHP project says installations serving web requests are at risk, including PHP-FPM, Apache mod_php, php-cgi, FrankenPHP and LiteSpeed. It identifies mod_php as the highest-risk configuration. [1][3][4]
These are runtime vulnerabilities. Updating a CMS, plugin or application dependency is not evidence that the PHP runtime has also been patched. Check the runtime used by each deployed service, rather than relying only on a developer workstation or an inventory label.
Fixed upstream releases
The following releases contain the fixes announced on 21 October. Use a later supported security release if one is available when you act. Distribution and LTS packages may carry backported fixes; verify the vendor advisory and package build rather than judging a package by its upstream version alone. [1][2]
| PHP branch | Fixed release |
|---|---|
| 8.5 | 8.5.12 |
| 8.4 | 8.4.27 |
| 8.3 | 8.3.36 |
| 8.2 | 8.2.35 |
PHP 8.1 and older are outside upstream support. Check your distribution or LTS vendor for a confirmed backport, or plan a move to a supported branch. [1]
A practical response checklist
- Scope the estate: public applications, internal services, containers, scheduled jobs and third-party products that embed PHP. Name the owner of each service.
- Prioritise exposure: identify public entry points and business-critical services. Make patching and temporary isolation decisions with the service owner.
- Validate the package: confirm that the selected release or vendor build contains the fixes. Test essential application flows and agree rollback criteria.
- Deploy completely: update images and hosts, redeploy affected workloads, and restart the relevant workers under the approved change procedure.
- Verify the running state: check the version or vendor build inside the actual application runtime. Confirm that old workers and outdated replicas are no longer serving traffic.
- Retain evidence: record the advisory, affected assets, deployed build, verification result, exceptions and the person accepting any remaining risk.
Temporary measures are not a complete fix
The PHP project states that only an update fully resolves these vulnerabilities. Its advisory describes configuration measures for particular attack paths, with important limitations. Read that guidance before changing memory or request handling settings; copying an isolated setting into production can introduce a different failure. CERT-EU recommends considering isolation of internet-facing services when immediate patching is not feasible. [1][2]
Keep patching and incident investigation separate. A successful update does not establish whether a system was previously compromised. If there are signs of unexpected execution, altered files or suspicious requests, preserve relevant evidence and involve the incident response owner.
What a useful close-out record contains
For each service, retain a short record: asset and business owner, exposure, runtime before the change, fixed package or build, deployment reference, running-state verification and any unresolved exception. Set an expiry or review trigger for every temporary exception.
This turns an urgent advisory into an accountable decision. The useful outcome is a verified change in exposure, with enough evidence for another person to check it.
References & review note
- PHP project: 21 October 2026 security advisory and fixed releases ↗
- CERT-EU: Critical Vulnerabilities in PHP, advisory 2026-018 ↗
- PHP security advisory: CVE-2026-109618 ↗
- PHP security advisory: CVE-2026-109619 ↗
Reviewed on 22 October 2026. Security guidance can change. Follow the linked vendor advisories for current affected versions and remediation instructions. The checklist is a proposed operational workflow, not a claim that a particular environment is secure.
Last reviewed:
Need a clearer view of your exposure?
Discuss a scoped security review with Yash Ghildiyal.
Discuss a review